प्रोजेक्ट के संस्करण को परिवर्तित नहीं कर सकता डायनामिक वेब मॉड्यूल 3.0 करने के लिए?


329

मैं ग्रहण में गतिशील वेबैप बनाने के लिए मावेन का उपयोग कर रहा हूं। मैं जोड़ा कुछ फ़ोल्डरों की तरह src/test/javaऔर src/test/resources। इसके अलावा मैंने जावा बिल्ड पथ को जावाएसई-1.7 प्राप्त करने के लिए पुस्तकालय में बदल दिया। यहाँ तक सब ठीक है।

जब मैंने प्रोजेक्ट्स को बदलने की कोशिश की तो डायनेमिक वेब मॉड्यूल कुछ गलत हो गया। मैंने उसी स्थान पर जावा को 1.7 में बदल दिया था। और यह अभी भी मुझे बताया, परियोजना पहलू डायनामिक वेब मॉड्यूल के संस्करण को 3.0 में नहीं बदल सकता है।

मैंने वह सब कुछ बदल दिया है जो मुझे लगता है कि बदलते प्रभाव को प्रभावित करेगा।


ठीक। उसके बारे में मुझे खेद है। जब मैं New Maven Project बनाता हूं, तो मैं प्रोजेक्ट बनाता हूं, तब मैं प्रोजेक्ट करता हूं, जब मैं नया Maven Project बनाता हूं, और डायनेमिक वेब मॉड्यूल 2.3 है। मैं डायनामिक वेब मॉड्यूल के संस्करण को 3.0 में बदलना चाहता हूं, और मुझे 'प्रोजेक्ट फेसेट डायनामिक वेब मॉड्यूल के संस्करण को 3.0 में परिवर्तित नहीं कर सकता'
एडगरजेंग


एक्लिप्स केपलर में, जब मैं 'डायनामिक वेब मॉड्यूल' पहलू पर राइट-क्लिक करता हूं, तो यह एक 'अनलॉक' विकल्प प्रदर्शित करता है। अन-लॉकिंग के बाद, मैं पहलू संस्करण को बदलने में सक्षम था। केवल जानकारी के लिए।
जोनाथन

क्या यह ग्रहण के लिए एक बग है?
सीडीटी

जवाबों:


311

मैंने अपना अपडेट किया web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
    <display-name>Servlet 3.0 Web Application</display-name>
</web-app>

और फिर सिर्फ मैवेन -> अपडेट प्रोजेक्ट ...


64
Web.xml का अद्यतन मेरे लिए काम नहीं आया। @Enkor द्वारा दिए गए समाधान काम करता है: stackoverflow.com/a/18632054/378633
jplandrain

5
यहां 3.1 वेब.xml फ़ाइल <? Xml संस्करण = "1.0" एन्कोडिंग = "UTF-8" के लिए एक मान्य शीर्ष लेख है?> <वेब-ऐप xmlns: xsi = " w3.org/2001/XMLSchema -instance " xmlns = " xmlns.jcp.org/xml/ns/javaee " xsi: schemaLocation = " xmlns.jcp.org/xml/ns/javaee xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd " id = " WebApp_ID "संस्करण =" 3.1 ">
जैकब अलेक्जेंडर आयक्लर

3
web.xml के बिना परियोजनाओं के बारे में क्या? :)
आनंद रॉकज़ डेस

3.0 संस्करण विशेषता के परिवर्तन या तो मेरे लिए काम नहीं किया
tequilacat

यदि ऊपर और नीचे के समाधानों में से कोई भी काम नहीं करता है, तो कृपया इस लिंक पर जाएं 100% यह काम करेगा।
राकी

587

एक अन्य तरीका यह है कि परियोजना का पहलू विन्यास फाइल को स्वयं संपादित किया जाए: org.eclipse.wst.common.project.facet.core.xml

इस लाइन में डायनामिक वेब मॉड्यूल संस्करण को 3.0 में बदलें - <installed facet="jst.web" version="2.5"/>

और तब:

  1. प्रोजेक्ट पर राइट-क्लिक करें ( प्रोजेक्ट एक्सप्लोरर पैनल में)।
  2. का चयन करें Maven »अद्यतन परियोजना (या प्रेस Alt+F5)

आपको यह फ़ाइल .settingsग्रहण परियोजना के भीतर निर्देशिका में मिलेगी ।


3
धन्यवाद। वास्तव में मुझे लगता है कि हमें ऊपर की तरह कुछ और करना चाहिए, वेब मॉड्यूल के संस्करण को web.xml में बदल दें, यदि नहीं, तो 'परिनियोजन डिस्क्रिप्टर' संस्करण 3.0 में नहीं बदलेगा। और यह है कि मावेन प्लगइन में एक बग?
एडगरजेंग सेप

13
यह इस समस्या को हल करने का एकमात्र तरीका प्रतीत होता है जब आप अपने प्रोजेक्ट में web.xml के बिना जा रहे हैं।
शॉन शेरवुड

3
मैं पहले से ही web.xml में 3.0 था और STS अभी भी अपडेट करने में विफल रहा और mvan अपडेट ने भी मदद नहीं की। यह विधि हालांकि काम करती है।
MiB

2
इससे मदद मिली, वास्तव में -> org.eclipse.wst.common.project.facet.core.xml पर जाएं -> सभी प्रविष्टियों को हटा दें -> मैवेन अपडेट प्रोजेक्ट।
सदाबहार

7
आप अपने आवेदन / परियोजना .settings फ़ोल्डर में org.eclipse.wst.common.project.facet.core.xml फ़ाइल पा सकते हैं।
ऋषि शाह

175

मुझे लगता है कि मुझे भी आपके जैसी ही समस्या थी। मेरे web.xml का संस्करण 2.5 था, जबकि परियोजना में प्रोजेक्ट पर राइट-क्लिक किया गया था-> गुण-> प्रोजेक्ट पहलू->) डायनामिक वेब मॉड्यूल 2.3।

हालांकि मैंने संस्करण को 2.3 से 2.5 तक बदलने की कोशिश की, लेकिन ECLIPSE ने इसकी अनुमति नहीं दी। समाधान: मैंने हेडिंग डायनामिक वेब मॉड्यूल के तहत चेक मार्क को हटाया, मैंने सेव किया और मेरे पास अपडेट प्रोजेक्ट था। स्वचालित रूप से पुनः-जागरण सही संस्करण के साथ बॉक्स में प्रवेश कर रहा है। मैं ग्रहण केपलर का उपयोग करता हूं।

ps: जोनाथन की टिप्पणियों को नीचे देखें, बहुत उपयोगी है।


1
महान! इसने मेरी समस्या को हल कर दिया लेकिन क्या आप बता सकते हैं कि डायनामिक मॉड्यूल सेट करने के लिए शुरुआत में इसकी अनुमति क्यों नहीं थी।
सुरेश

26
@ सुरेश, मुझे लगता है कि समस्या यह है कि संस्करण को बदलने की अनुमति क्यों नहीं दी गई क्योंकि यह बंद है। यदि आप 'डायनामिक वेब मॉड्यूल' पहलू पर राइट-क्लिक करते हैं, तो यह 'अनलॉक' विकल्प प्रदर्शित करेगा। लॉकिंग के बाद, DWM फेशियल को अन-चेक करना, फेस को फिर से लागू करना, और प्रोजेक्ट मावेन अपडेट करना, त्रुटि दूर हो गई।
जोनाथन

2
+1। इस अत्यंत महत्वपूर्ण बिंदु के बिना दूसरों के जवाब यहां कुछ भी नहीं के लिए हैं। केवल मुझे लगता है कि जोनाथन टिप्पणी नहीं जवाब में शामिल किया जाना चाहिए।
गंगानुस

1
+1 @Jonathan आपकी टिप ने काम किया। आपको इसे एक उत्तर के रूप में प्रकाशित करना चाहिए और हमें इसे भी ग्रहण करना चाहिए!
एकप्पी

मेरे मामले में यह काम करता है कि वेब मॉड्यूल पोम में डायनामिक वेब मॉड्यूल के लिए एक और संस्करण क्यों बनाया गया था, इसलिए यह
सफेद

49
  1. अपने प्रोजेक्ट फ़ोल्डर पर क्लिक करें।
  2. विंडो> शो व्यू> नेविगेटर पर जाएं
  3. नेविगेटर पर जाएं और .settings फ़ोल्डर का विस्तार करें
  4. org.eclipse.wst.common.project.facet.core.xmlफ़ाइल खोलें

    <?xml version="1.0" encoding="UTF-8"?>
    <faceted-project>
      <fixed facet="wst.jsdt.web"/>
      <installed facet="jst.web" version="2.3"/>
      <installed facet="wst.jsdt.web" version="1.0"/>
      <installed facet="java" version="1.8"/>
    </faceted-project>
  5. संस्करण को इस तरह बदलें <installed facet="jst.web" version="3.1"/>

  6. सहेजें
  7. बस अपने प्रोजेक्ट को अपडेट करें। प्रोजेक्ट फ़ोल्डर पर राइट क्लिक करें> Maven> प्रोजेक्ट अपडेट करें> प्रोजेक्ट चुनें और 'Ok' पर क्लिक करें।

बस यह मेरे लिए काम किया।


43

मेरे पास एक ही मुद्दा था और मैंने भी इस परियोजना को हटाने और इसे फिर से जोड़ने की कोशिश की। .settingsनिर्देशिका को हटाने के लिए क्या चाल थी ।


2
मुझे भी ऐसा करना पड़ा। मैं एक जावा-आधारित कॉन्फ़िगरेशन के साथ एक स्प्रिंग वेब परियोजना का उपयोग कर रहा था, इसलिए मेरे लिए web.xml को अपडेट करना संभव नहीं था।
bcody

इसे हटाने के बाद काम क्यों किया गया। क्या आप इसे समाप्त कर सकते हैं
अभिजीत चक्र

कि .settings निर्देशिका में बहुत सारा सामान होता है और शायद उनमें से कुछ समय के साथ बदल गए। मुझे नहीं पता कि इस व्यवहार ने किस हिस्से को प्रभावित किया, लेकिन यह एक रीसेट की तरह था। किसी भी अन्य उत्तर ने मेरे लिए काम नहीं किया, लेकिन यह एक। और ऐसा लगता है कि मैं इस स्थिति में केवल एक ही नहीं था।
एड्रियन बेर

मेरे लिए काम किया, मेरे पास यह त्रुटि थी: "प्रोजेक्ट फेस ईएआर के संस्करण को 1.3 में नहीं बदल सकता।"
गियोवन्नी पी।

मेरे लिए काम किया! मेरे पास त्रुटि थी: "प्रोजेक्ट पहलू का संस्करण परिवर्तित नहीं कर सकता डायनेमिक वेब मॉड्यूल 3.0 करने के लिए"
अनूप घोष


21

मेरे लिए क्या काम किया:

  1. जावा को 1.8 में बदलें (या 1.7)

अपने POM में - आपको संकलक प्लगइन को संस्करण 1.8 (या 1.7) <build>सेक्शन में सेट करना होगा:

  <build>
    ...
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.6.0</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>  
      </plugins>    
  </build>

सुनिश्चित करें कि जावा बिल्ड परिवर्तन 1.8 दिखाता है। यदि यह नहीं है - EDIT पर क्लिक करें और चुनें कि यह क्या होना चाहिए।

यहां छवि विवरण दर्ज करें

  1. Web.xml को संशोधित करें ताकि 3.0 संस्करण में और लिंक में संदर्भित हो

यहां छवि विवरण दर्ज करें

  1. सुनिश्चित करें कि आपके पास प्रोजेक्ट पहलुओं में 1.8 पर जावा सेट है

यहां छवि विवरण दर्ज करें

  1. इस स्तर पर मैं अभी भी डायनामिक वेब मॉड्यूल नहीं बदल सकता था;

इसे बदलने के बजाय:

a) डायनामिक वेब मॉड्यूल को अनचेक करें

बी) लागू होते हैं

ग) इसे फिर से जांचें। नया संस्करण 3.0 सेट किया जाना चाहिए। **

यहां छवि विवरण दर्ज करें

इसे लागू करने और फिर से जाँच करने के बाद:

यहां छवि विवरण दर्ज करें

उम्मीद है की यह मदद करेगा।


15

परियोजना पर राइट क्लिक करें → गुण ; में परियोजना पहलुओं , अचयनित गतिशील वेब मॉड्यूल (संस्करण होना चाहिए 3.1 ) और अचयनित जावा सर्वर चेहरे (संस्करण है 2.2 )।

इसे बदलो:

<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">

इसके लिए:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

फिर पहले param-nameऔर जैसे उपसर्ग निकालें ।

अंत में, मावेन -> अद्यतन परियोजना


8

आप कृपया नेविगेटर दृश्य और निम्न चरण खोलें

  1. (विंडो> शो देखें> अन्य> सामान्य) और पाते हैं कि आपकी परियोजना के तहत एक .settings फ़ोल्डर है, इसे विस्तारित करें और फिर फ़ाइल खोलें "org.eclipse.wst.common.project.facet.core.xml", इसे बनाएं नीचे परिवर्तन और फ़ाइल को बचाने के लिए।
  2. इस लाइन में डायनामिक वेब मॉड्यूल संस्करण को 2.5 में बदलें -
  3. इस संस्करण में जावा संस्करण को 1.5 या अधिक पर बदलें -।

5
आप "शो व्यू" संवाद में "सामान्य" फ़ोल्डर के तहत क्या दृश्य चुनना चाहिए, यह बताना भूल गए। क्या यह "नेविगेटर" दृश्य है?
रॉबर्टो लिनारेस

6

प्रोजेक्ट संरचना से खोलें web.xml http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd "संस्करण =" 3.0 "> सर्वलेट 3.0 वेब अनुप्रयोग

और उदाहरण के परिवर्तन संस्करण के लिए web.xml फ़ाइल अपडेट करें = "2.5"

अपनी परियोजना से org.eclipse.wst.common.project.facet.core.xml फ़ाइल भी बदलें। सेट्सिंग फ़ाइल चरणों का पालन करें 1. विंडो> दृश्य देखें> अन्य> सामान्य> नेविगेटर।

  1. आपकी परियोजना निर्देशिका के अंतर्गत .settings फ़ोल्डर है

  2. इस लाइन में डायनेमिक वेब मॉड्यूल संस्करण को 2.5 में बदलें 4. जावा संस्करण को इस लाइन में 1.5 या अधिक पर बदलें

अब अपने प्रोजेक्ट को रिफ्रेश करें और अपने सर्वर पर चलने के लिए तैयार हो जाएं।

Http://scrapillars.blogspot.in/2014/02/how-to-change-project-facet-in-eclipse.html समाधान के लिए ब्लॉग का अनुसरण करें

समाधान छवि चित्र के साथ निर्मित है


हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं।
मीका

जैसा कि crunchify.com/… में दिखाया गया है, मैंने pom.xml फ़ाइल में परिवर्तन किए हैं । हालाँकि यह पर्याप्त नहीं था। मुझे .settings फ़ोल्डर खोलने और फ़ाइल या .eclipse.wst.common.project.facet.core.xml फ़ाइल को संपादित करने के लिए सिफारिश का पालन करना पड़ा।
लाठी

6

मेरे लिए इस समस्या को हल करने के लिए सर्वश्रेष्ठ और सरल चरणों में 1 है) गुण -> प्रोजेक्ट पहलू -> डायनामिक / डायनामिक वेब मॉड्यूल के चेक बॉक्स को अचयनित करें -> 2 लागू करें) अब वांछित संस्करण में परिवर्तन करें 3 लागू करें) डायनामिक वेब मॉड्यूल चेक बॉक्स की जाँच करें .. - अब आपका काम पूरा हो गया है -


1
अच्छी तरह से काम किया लेकिन इसका परिणाम क्या है?
sg28

4

उनका इस समस्या को हल करने का एक और तरीका है (यह जांच लें कि यह आपकी समस्या को हल करने में आपकी मदद करेगा)

मुसीबत

प्रोजेक्ट का संस्करण बदल नहीं सकता है गतिशील वेब मॉड्यूल 2.3 से 3.0

समाधान

  1. अपनी परियोजना के स्थान पर जाएं (उदा .- D: / maven / todo)
  2. फ़ोल्डर में जाना
  3. इस फ़ाइल की जाँच करें: org.eclipse.wst.common.project.facet.core.xml
  4. फ़ाइल खोलें और 2.3 से 3.0 तक "jst.web" संपत्ति बदलें, और सहेजें
  5. प्रोजेक्ट पर राइट क्लिक करें प्रोजेक्ट रिफ्रेश करें और मावेन को अपडेट करें
  6. किया हुआ!!!....

3

Web.xml ट्रिक इसलिए काम करता है क्योंकि अब आप WTP को स्पष्ट रूप से बता रहे हैं कि आप उस विशिष्ट सर्वलेट संस्करण का उपयोग कर रहे हैं, भले ही वह कंटेनर का समर्थन करता हो।

मेरे मामले में, मैं एक मावेन परियोजना के भीतर एनोटेशन कॉन्फिगरेशन का उपयोग कर रहा हूं और मेरे पास एक web.xml फ़ाइल नहीं है। यह पता चला है कि एक web.xml की अनुपस्थिति में, WTP आपके मावेन निर्भरता को यह निर्धारित करने के लिए देखता है कि उपयोग करने के लिए सर्वलेट संस्करण क्या है। मेरे मामले में, मैंने निम्नलिखित को परिभाषित किया था:

<dependency>
  <groupId>javax</groupId>
  <artifactId>javaee-api</artifactId>
  <version>7.0</version>
  <scope>provided</scope>
</dependency>

इसे 6.0 में बदलने से समस्या ठीक हो गई और अब यह 3.1 के बजाय सर्वलेट 3.0 का उपयोग कर रहा है, जो कि JavaEE 7. के लिए डिफ़ॉल्ट है। चूँकि मुझे Tomcat 8 से Tomcat 7 जाना था, Tomcat 7 केवल JavaEE 6 वेब प्रोफ़ाइल का समर्थन करता है। अब चीजें आश्चर्यजनक रूप से काम करती हैं।


3

मेरे पास एक ही मुद्दा था, web.xml के संपादन के साथ-साथ .settings फ़ोल्डर को अकेले बदलने से कोई मदद नहीं मिली। मेरा समाधान सीधे pav.xml को संपादित करके वांछित जावा संस्करण का उपयोग करने के लिए मावेन कंपाइलर प्लगइन को इंगित करना था:

  <build>
    ...
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
    </plugins>    
  </build> 

अब Maven-> अपडेट प्रोजेक्ट चलाएं और उसके बाद आप सर्वलेट्स वर्जन को गुणों में बदल सकते हैं-> प्रोजेक्ट पहलुओं-> डायनेमिक वेब मॉड्यूल संस्करण या, जैसा कि पहले लिखा गया था, org.eclipse.wst.common.project.facetetcore को मैन्युअल रूप से एडिट करके। अपने प्रोजेक्ट के फ़ोल्डर में xml।


2

मेरे मामले में web.xml को dtd द्वारा संदर्भित किया गया था। के बाद मैंने इसे बदलकर xsd संदर्भ दिया जैसे कि सिडनी द्वारा पोस्ट किया गया था।


2

मेरे पास एक ही मुद्दा था, .settings फ़ोल्डर को हटाने से समस्या हल हो गई


1

समस्या का मेरा समाधान जिसने मुझे प्रोजेक्ट फेस डायनामिक वेब मॉड्यूल के संस्करण को ग्रहण में बदलने की अनुमति नहीं दी थी:

  • मावेन प्रकृति को अक्षम करें
  • सुनिश्चित करें कि web.xml नेमस्पेस सही संस्करण को इंगित करता है
  • मावेन नेचर को फिर से सक्षम करें
  • मावेन »अपडेट प्रोजेक्ट (या Alt + F5 दबाएं)

1

यदि सिडनी द्वारा जवाब अभी भी मदद नहीं करता है तो नीचे की कोशिश करें। सिडनी के उत्तर का अनुसरण करने के बाद, गोटो प्रॉपर्टीज> प्रोजेक्ट्स फेससेट डायनामिक वेब मॉड्यूल को अचयनित करता है और फिर आपके web.config से मिलान करने के लिए संस्करण बदलता है और फिर दोबारा चयन करता है। लागू करें> तब सहेजें मावेन अपडेट।

web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:web="http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="Web_App_1" version="3.1">

<display-name>JavaServerFaces</display-name>

<!-- Change to "Production" when you are ready to deploy -->
<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>

<!-- Welcome page -->
<welcome-file-list>
    <welcome-file>jsfs/hello.xhtml</welcome-file>
</welcome-file-list>

<!-- JSF mapping -->
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<!-- Map these files with JSF -->
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>jsfs/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>


1

मैंने यहां कई उत्तरों की कोशिश की, लेकिन उनमें से किसी ने भी मेरे लिए काम नहीं किया। तब मैं अपने समस्या के बारे में एक लेख मिला यहाँ । मैंने इसे यहां भी साझा करने के बारे में सोचा।

नीचे संक्षिप्त में दिए गए कदम हैं।

  1. कंपाइलर अनुपालन स्तर सेट करें।
  2. प्रोजेक्ट फेसिट को अपडेट करें
  3. वरीयताओं से अद्यतन स्थापित JRE
  4. जावा 1.7 और अंत में उपयोग करने के लिए pom.xml में कॉन्फ़िगरेशन जोड़ना
  5. मावेन से अद्यतन परियोजना।

1

मावेन एक्लिप्स वेब प्रोजेक्ट के लिए, डायनेमिक वेब मॉड्यूल वर्जन को बदलने के लिए तीन स्थानों की जाँच करनी होगी। यदि कोई ग्रहण का उपयोग करता है, और आपके द्वारा निम्नलिखित की जाँच करने के बाद: 1) web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

2) मावेन:

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>   ## ensure you have tomcat 7 not other version
</dependency>

<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.0</version>
      <configuration>
            <source>1.7</source> ## at least 6
            <target>1.7</target>
      </configuration>
</plugin>

3) ग्रहण बिल्ड पथ और संकलक संस्करण 1.7 है

आपके पास अभी भी मावेन पर एक त्रुटि मार्कर है:

cannot change version of project facet dynamic web module to 3.0 one or more constrants have not been satisfied

फिर आप कर सकते हैं: गतिशील वेब मॉड्यूल को अनचेक करें, और इसे रीचेक करें। मुझे लगता है कि ऐसा इसलिए है क्योंकि ग्रहण की फाइल की सेटिंग किसी तरह दूषित हो जाती है। दूसरे टिप टोमकाट के बारे में कि कौन सा संस्करण एक अच्छा नोट है।


1

मुझे यह त्रुटि तब हुई जब मैंने सामान्य जावा प्रोजेक्ट को मावेन प्रोजेक्ट में बदलने का प्रयास किया ।

मैंने जो किया वह जावा कंपाइलर संस्करण का निर्धारण करना था जो कि मेरी परियोजना के लिए आवश्यक है। मेरी परियोजना के लिए, न्यूनतम जावा संस्करण है 1.8

1.8मेरी IDE से कुछ भी कम करने के लिए संस्करण को कम करने से शिकायत शुरू हो जाएगी कि यह आयातित पुस्तकालयों के एक समूह को नहीं पहचानता है, इसलिए मैं अपना न्यूनतम जावा संस्करण निर्धारित करता हूं1.8

1. Right click your project
2. Go to Properties
3. Left hand-side panel, click "Project Facets"
4. For Java, set the version according to your minimum version

यहां छवि विवरण दर्ज करें

अब सुनिश्चित करें कि जावा कंपाइलर संस्करण उसी जावा संस्करण का उपयोग करता है जैसा आपने प्रोजेक्ट पहलुओं में निर्धारित किया है।

1. Right click your project
2. Go to Porperties
3. Left hand-side panel, click "Java Compiler"
4. Make sure Java Compiler version is the same. 
5. If it is not the same, change the version. (Uncheck "Use compliance from execution environment' if needed to make the changes.

यहां छवि विवरण दर्ज करें

परिवर्तनों के बाद, त्रुटि को हल किया जाना चाहिए। यदि त्रुटि अभी भी है, तो राइट क्लिक प्रोजेक्ट -> मावेन -> अपडेट प्रोजेक्ट


0

मावेन अपडेट करना या परियोजना को फिर से शुरू करना मदद नहीं करता था। @ सिडनी का जवाब सही है; इसके अलावा मुझे इस परियोजना को अलग-अलग कार्यक्षेत्रों में फिर से बनाना है जैसा कि JavaSver Faces 2.2 में कहा गया है कि इसके लिए डायनामिक वेब मॉड्यूल 2.5 या नए की आवश्यकता है


0

Org.eclipse.wst.common.project.facet.core.xml फ़ाइल खोलें और jst.web संस्करण को 3.0 में बदलें। इसके अलावा web.xml को संस्करण 3.0 में अपडेट करें। प्रोजेक्ट को सहेजें और अपडेट करें। उम्मीद है की यह मदद करेगा। मैं ग्रहण जूनो का उपयोग कर रहा हूं


0

यह पगुरिक्स के उत्तर पर भिन्नता है, लेकिन ग्रहण मंगल का उपयोग कर रहा है।

अपनी web.xml फ़ाइल को web.bak में बदलें

त्रुटियों को अनदेखा करें, हम इसे फिर से चालू करेंगे।

प्रोजेक्ट गुण -> प्रोजेक्ट पहलुओं में जाएं और डायनामिक वेब मॉड्यूल संस्करण सेट करें जो आपको चाहिए। ग्रहण अब आपको बचाने की अनुमति देता है।

अब प्रोजेक्ट पर राइट क्लिक करें। जावा ईई उपकरण चुनें -> तैनाती तैनाती स्टब उत्पन्न करें।

यह आवश्यक संस्करण के साथ एक नया web.xml बनाता है।

नए web.xml को खोलें और XML हैडर और संपूर्ण वेब-ऐप ओपनिंग टैग को अपने मूल web.bak पर कॉपी करें, नया web.xml हटाएं और web.bak को web.xml में वापस बदलें।

किया हुआ।


0

मेरा था Web Module 3.0में web.xmlहै, लेकिन में properties>Dynamic Web Moduleयह पर था3.1

मैंने इसे बदल दिया web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

इस परिवर्तन के बाद, करें: right click on project>Maven>Update Project...


0

यह समस्या प्रोजेक्ट पर संस्करण राइट-क्लिक के साथ-> गुण-> प्रोजेक्ट पहलू-> डायनामिक वेब मॉड्यूल पर राइट-क्लिक करें- इसे अनलॉक करें-> अनचेक करें-> 2.5 संस्करण चुनें-> लागू करें-> मावे को अपडेट करें


0

मैंने सही संस्करण, xsd स्थानों के साथ web.xml संशोधित करके org.eclipse.wst.common.project.facet.core.xml को सही संस्करण के साथ संशोधित किया और मावेन अपडेट किया


0

अद्यतन मावेन मेरे लिए काम किया

प्रोजेक्ट का चयन करें फिर ALT + F5 दबाएँ फिर प्रोजेक्ट क्लिक करें ठीक चुनें


0

मुझे एक अलग इलाज के साथ एक ही लक्षण था। मैं अपने JSF 2.2.4 / स्प्रिंग 3.0 वेब अप को JSF 2.3 में अपग्रेड करने का प्रयास कर रहा था ताकि नए JSF वेबसोकेट हुक का आनंद लिया जा सके और ग्रहण (वास्तव में STS) सहयोग नहीं करेगा। ग्रहण के प्रोजेक्ट पहलुओं में, JSF 2.3 कभी भी उपलब्ध नहीं हुआ, जब तक कि मैंने सीधे org.eclipse.wst.common.project.facet.core.xml फ़ाइल को सीधे संपादित नहीं किया, जैसा कि पिछले उत्तरों में निर्देशित था - उच्चतम यह 2.2 था।

यहाँ हुप्स हैं जिनके माध्यम से मैं कूद गया। मुझे नहीं पता कि ये सभी आवश्यक थे क्योंकि मैं मूल रूप से इस सभी कॉन्फ़िगरेशन को नहीं समझता हूं।

ग्रहण में मुझे अक्सर एक डरावनी चेतावनी मिलती है, "जब एक या एक से अधिक स्थापित पहलुओं के कार्यान्वयन उपलब्ध नहीं होते हैं तो एक सुविचारित परियोजना को संशोधित करने से संभावित रूप से एक दूषित परियोजना हो सकती है। क्या आप सुनिश्चित हैं कि आप आगे बढ़ना चाहते हैं?" इसने मुझे और लगातार कमिट करने के लिए प्रेरित किया लेकिन कोई भ्रष्टाचार नहीं हुआ।

  1. POM, ग्रहण संकलक और ग्रहण परियोजना पहलुओं में JDK को 1.7 से 1.8 तक अपग्रेड करें।
  2. निम्नलिखित मावेन निर्भरता को अद्यतन करें:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <scope>provided</scope>
    </dependency>

    ... सेवा:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.0</version>
        <scope>provided</scope>
    </dependency>

... तथा ...

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.2.4</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.2.4</version>
    </dependency>

... सेवा:

    <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>javax.faces-api</artifactId>
        <version>2.3</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.faces</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <version>2.0</version>
    </dependency>

मुझे अपने web.xml नेमस्पेस घोषणाओं को अपडेट करना था:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">

... सेवा:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

मुझे प्रोजेक्ट पहलुओं को अद्यतन करना था -> 2.5 से 3.0 तक डायनामिक वेब मॉड्यूल। मैंने 3.1 की कोशिश की, लेकिन त्रुटियां हुईं।

इस प्रक्रिया में मुझे अक्सर इस पद के शीर्षक में त्रुटि मिली, "प्रोजेक्ट फेसेट डायनामिक वेब मॉड्यूल के संस्करण को 3.0 में नहीं बदल सकता" और एक्लिप्स ने परियोजना को संकलित करने या प्रोजेक्ट पहलुओं में JSF 2.3 की पेशकश करने से इनकार कर दिया। जब मैंने org.eclipse.wst.common.project.facet.core.xml फ़ाइल को संपादित किया, जैसा कि निर्देश दिए गए कि त्रुटियां गायब हो गईं, तो ग्रहण ने परियोजना पहलुओं में JSF 2.3 की पेशकश की, और परियोजना को संकलित किया और Tomatat 9.0.8 पर ठीक से चलाया। हालाँकि, प्रोजेक्ट पहलुओं ने अभी भी चेतावनी दी है "परियोजना के संस्करण 2.3 के कार्यान्वयन के लिए पहलू js.jsf नहीं पाया जा सकता है। कार्यक्षमता सीमित होगी।" मुझे इस पर संदेह है कि इसका मतलब यह है कि स्वतः पूर्ण और अन्य ग्रहण योग्यताएं उपलब्ध नहीं होंगी क्योंकि यह मेरे POM में घोषित JSF 2.3 कार्यान्वयन नहीं पा सकता है।

आशा है कि यह किसी की मदद करता है। Google ने अली बासम और अप्रत्यक्ष रूप से BalusC द्वारा इस पोस्ट को केवल खोजा जिससे मदद मिली।


0

मुझे भी यही समस्या थी - मैंने अपने प्रोजेक्ट को अपने कार्यक्षेत्र से हटा दिया, फिर "एक्लिप्स फाइल्स / फोल्डर को साफ किया, उदाहरण के लिए:: .project, .settings, आदि) फिर मावेन प्रोजेक्ट को इम्पोर्ट किया, यह काम किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.