जवाबों:
आप इस तरह भी यह कर सकते हैं:
यह src / main / webapp में WEB-INF फ़ोल्डर और इसमें एक web.xml उत्पन्न करेगा ।
web.xml
फ़ाइल। आपको इस समस्या को ठीक करने के बजाय टूल (यानी मावेन) का निर्माण करना चाहिए।
यह एक Maven त्रुटि है। यह कहता है कि यह आपके प्रोजेक्ट में web.xml फ़ाइल की उम्मीद कर रहा है क्योंकि यह एक वेब एप्लिकेशन है, जैसा कि संकेत दिया गया है <packaging>war</packaging>
। हालाँकि, हाल के वेब अनुप्रयोगों के लिए एक web.xml फ़ाइल पूरी तरह से वैकल्पिक है। मावेन को इस सम्मेलन को पकड़ने की आवश्यकता है। अपने Maven को यह जोड़े pom.xml
जाने के लिए Maven पकड़ने और आप एक बेकार जोड़ने की जरूरत नहीं है web.xml
अपने प्रोजेक्ट में:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
खाली जोड़ने की तुलना में यह एक बेहतर समाधान है web.xml
क्योंकि इस तरह से आपका अंतिम उत्पाद साफ रहता है, आप बस अपने निर्माण मापदंडों को बदल रहे हैं।
मावेन के अधिक वर्तमान संस्करणों के लिए आप छोटे संस्करण का भी उपयोग कर सकते हैं:
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
Interface WebApplicationInitializer
इस उत्तर के किसी भी कार्यान्वयन के लिए सही दृष्टिकोण है। यह इस समस्या को हल करने का समझदार तरीका है - web.xml
इसके बिना जीने के लिए कदम उठाने के बाद कोई मतलब नहीं !
<properties><failOnMissingWebXml>false</failOnMissingWebXml></properties>
अधिक वर्बोज़ प्लगइन कॉन्फ़िगरेशन सेटिंग्स के बजाय पर्याप्तियाँ शामिल हैं।
यदि आपके पास पहले से ही web.xml अंडर / src / main / webapp / WEB-INF है, लेकिन आपको अभी भी त्रुटि मिलती है "web.xml याद आ रही है और सही पर सेट है", तो आप जाँच कर सकते हैं कि क्या आपने / src / main / webapp को शामिल किया है आपका प्रोजेक्ट स्रोत
यहां वे चरण हैं जिनका आप अनुसरण कर सकते हैं:
(मैंने इसे ग्रहण मंगल के साथ सत्यापित किया)
यदि आप स्प्रिंग टूल सूट का उपयोग करते हैं, तो Generate Dep तैनाती Descriptor Stub का विकल्प Java EE टूल्स के अंतर्गत ले जाया जाता है, इसलिए आप:
यह src / main / webapp / WEB-INF / फ़ोल्डर के अंदर web.xml फ़ाइल बनाएगा, और निश्चित रूप से Maven की pom.xml फ़ाइल से त्रुटि को दूर करेगा।
मेरी भी यही समस्या है। अध्ययन और googling के बाद, मैं अपने समस्या हल हो गई है:
प्रोजेक्ट फ़ोल्डर पर राइट क्लिक करें Java EE Tools
, चुनें, चुनें Generate Deployment Descriptor Stub
। यह web.xml
फ़ोल्डर में बनाएगा src/main/webapp/WEB-INF
।
आप यह भी कर सकते हैं जो कम क्रिया है
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
ग्रहण गलत डिफ़ॉल्ट webapp
निर्देशिका को पहचानता है । इसलिए हमें इसे स्पष्ट रूप से निर्धारित करना चाहिए maven-war-plugin
।
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<webappDirectory>src/main/webapp</webappDirectory>
</configuration>
</plugin>
</plugins>
</build>
एक बार इस सेटिंग को सहेजने के बाद, यदि इसे हटा दिया जाता है, तो त्रुटि कभी नहीं घटेगी। (मैं क्यों नहीं समझा सकता हूँ।)
मुझे एक ही समस्या थी, भले ही मेरे पास 'src/main/webapp/WEB-INF/'
सही के साथ फ़ोल्डर था web.xml
।
Maven build..
मेरे द्वारा निष्पादित किए जाने के बाद समस्या फिर से गायब हो गई (maven-> e ग्रहण) कॉन्फ़िगरेशन
mvn eclipse:clean eclipse:eclipse
और फिर मैं इस्तेमाल किया Maven -> Update Project
(eclipse-> Maven) प्लगइन विशिष्ट विकल्प जोड़ने के लिए।
मुझे केवल ग्रहण में इस समस्या का सामना करना पड़ा, मावेन कमांड लाइन में सब कुछ ठीक रहा, और मेरी web.xml फ़ाइल मौजूद थी। यह एक परिपक्व परियोजना (पहले से ही उत्पादन में बाहर तैनात) कि प्रभावित हुआ था। मेरी समस्या ग्रहण मेटाडेटा से जुड़ी थी। मेरे .settings / फ़ोल्डर में से किसी एक फ़ाइल के साथ एक समस्या थी, विशेष रूप से org.eclipse.wst.common.component को बदल दिया गया था। मैं इस फ़ाइल को इसके पूर्व संस्करण में पुनर्स्थापित करने में सक्षम था, जिसने मेरे मामले में समस्या को हल किया।
ध्यान दें कि यूसी का जवाब मेरे लिए काम नहीं करता था, जब मैंने ग्रहण संपत्तियों में तैनाती विधानसभा पर क्लिक करने की कोशिश की, तो मुझे एक त्रुटि मिली जिसमें कहा गया था "वर्तमान में प्रदर्शित पृष्ठ में अमान्य मान हैं।"
Web.xml के साथ प्रोजेक्ट के लिए वर्तमान प्रोजेक्ट -> गुण -> परिनियोजन असेंबली, जहाँ आप फ़ोल्डर src / main / webapp जोड़ सकते हैं। बदलाव सुरक्षित करे। जा रही परियोजना को साफ करें।
Web.xml के साथ प्रोजेक्ट के लिए गुण टैग के तहत pom.xml में गलत पर सेट विफलताOnMissingWebXml प्रस्तुत नहीं करें।
यह करो:
जाओ और परिनियोजन वर्णक पर राइट क्लिक करें और परिनियोजन वर्णक स्टब जनरेट करें पर क्लिक करें।
यह समझ में नहीं आता है कि web.xml बनाने के लिए सिर्फ एलिप्से चाहते हैं, यहां तक कि कोई आवश्यकता नहीं है। यह मामला है अगर आपके पास सर्वलेट कॉनटिनर एम्बेडेड है या xml cfg के बिना रह रहा है जैसे स्प्रिंग-बूट करता है। आप सिर्फ प्रोजेक्ट स्तर या वैश्विक स्तर पर ग्रहण में जावा (बेकार सामान) को व्यवहार्य करते हैं
Eclipse/STS>Windows>Preferences>JavaEE>Doclet>Webdoclet> "uncheck" DeploymentDescriptor > OK
अपनी परियोजना का चयन करें और "परिनियोजन डिस्क्रिप्टर" विकल्प का चयन करें और फिर "डेसिपेट तैनाती डिस्क्रिप्टर स्टब" चुनें
WEB-INF फ़ोल्डर को src / webapp में बनाएँ, और तब WEB-INF फ़ोल्डर के अंदर web.xml पेज शामिल करें
maven-war-plugin
। यह एक अंतर्निहित प्लगइन जहां कि विन्यास संपत्ति के लिए डिफ़ॉल्ट मान सत्य है। आपको इसे स्पष्ट रूप से घोषित करने और कॉन्फ़िगरेशन संपत्ति को गलत पर सेट करने की आवश्यकता है। अधिक देखें यहाँ । या फिर आप एक खाली web.xml में जोड़ सकते हैं