कुछ हद तक आलसी होने के नाते, मुझे यह जानकर खुशी हुई कि मैं नई -> कक्षा जाने के बजाय नया -> सर्वलेट जाकर और फिर कक्षा को सर्वलेट में संपादित करने के बजाय नया सर्वलेट स्रोत कोड बना सकता हूं।ग्रहण में Servlets क्यों बना रहा है मेरे web.xml तोड़ रहा है?
हालांकि, मैंने पाया है कि हर बार जब मैं एक्लिप्स में एक नया सर्वलेट बनाता हूं, ग्रहण मेरे web.xml को संशोधित करता है। (। LINEBREAKS मेरा):
विशेष रूप से, यह करने के लिए शीर्ष तत्व को संशोधित करता
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
id="WebApp_ID" version="2.4">
यह आवश्यक रूप से बुरा नहीं लगता है, लेकिन फिर यह javaee डालकर विभिन्न उप तत्वों को संशोधित करता है ": "उनके नाम के सामने, यह इंगित करने के लिए कि ये तत्व उस नामस्थान में हैं।
उदाहरण के लिए, यह परिवर्तन
<display-name>ShowLifecycles</display-name>
को
<javaee:display-name>ShowLifecycles</javaee:display-name>
के बाद जो ग्रहण तब के बारे में सभी तत्वों को यह संशोधित शिकायत करता है, मेरे जैसे अंकन दे रही है:
cvc-complex-type.2.4.a: Invalid content was found starting with element 'javaee:display-name'. One of '{"http://
java.sun.com/xml/ns/j2ee":description, "http://java.sun.com/xml/ns/j2ee":display-name, "http://java.sun.com/xml/ns/
j2ee":icon, "http://java.sun.com/xml/ns/j2ee":distributable, "http://java.sun.com/xml/ns/j2ee":context-param, "http://
java.sun.com/xml/ns/j2ee":filter, "http://java.sun.com/xml/ns/j2ee":filter-mapping, "http://java.sun.com/xml/ns/
j2ee":listener, "http://java.sun.com/xml/ns/j2ee":servlet, "http://java.sun.com/xml/ns/j2ee":servlet-mapping, "http://
java.sun.com/xml/ns/j2ee":session-config, "http://java.sun.com/xml/ns/j2ee":mime-mapping, "http://java.sun.com/xml/ns/
j2ee":welcome-file-list, "http://java.sun.com/xml/ns/j2ee":error-page, "http://java.sun.com/xml/ns/j2ee":jsp-config, "http://
java.sun.com/xml/ns/j2ee":security-constraint, "http://java.sun.com/xml/ns/j2ee":login-config, "http://java.sun.com/xml/ns/
j2ee":security-role, "http://java.sun.com/xml/ns/j2ee":env-entry, "http://java.sun.com/xml/ns/j2ee":ejb-ref, "http://
java.sun.com/xml/ns/j2ee":ejb-local-ref, "http://java.sun.com/xml/ns/j2ee":service-ref, "http://java.sun.com/xml/ns/
j2ee":resource-ref, "http://java.sun.com/xml/ns/j2ee":resource-env-ref, "http://java.sun.com/xml/ns/j2ee":message-
destination-ref, "http://java.sun.com/xml/ns/j2ee":message-destination, "http://java.sun.com/xml/ns/j2ee":locale-
encoding-mapping-list}' is expected.
बनाने के इससे भी बदतर बात है, जब मैं "javaee:" को हटाने के लिए खोजने और प्रतिस्थापित करने का उपयोग करता हूं जो फ़ाइल को झुकाता है, ग्रहण अभी भी इनके बारे में शिकायत करता है भले ही वे वहां नहीं हैं। इन शिकायतों को दूर करने के लिए मुझे पूरी शेष फ़ाइल को अपने आप शीर्ष पर कॉपी और पेस्ट करना होगा।
मुझे यकीन है कि ग्रहण उपयोगी होने की कोशिश कर रहा है, इस नामस्थान की कुछ इच्छा या आवश्यकता की उम्मीद कर रहा है। मैं या तो दो चीजों में से एक कैसे कर सकता हूं:
इसे ऐसा करना बंद करें?
जो कुछ भी करने का प्रयास कर रहा है उसका लाभ उठाएं, और मेरे खिलाफ मेरे लिए काम करें?
ग्रहण विज़ार्ड से बचने के लिए यह एक अच्छा कारण है –
क्या आप सर्वलेट 3.0 का उपयोग कर सकते हैं? – Bozho
@ बोझो - जब मैं servlets की बात करता हूं तो मैं नौसिखिया हूं। मैं शायद सर्वलेट 3.0 का उपयोग कर सकता हूं, लेकिन मुझे यह भी पता नहीं है कि मैं वर्तमान में किस संस्करण का उपयोग कर रहा हूं (मुझे लगता है कि नवीनतम) या किसी भिन्न संस्करण का उपयोग करने के लिए इसे कैसे बताना है। –