Proje faset Dinamik Web Modülü sürümünü 3.0 olarak değiştiremiyor musunuz?


329

Eclipse dinamik bir webapp oluşturmak için maven kullanıyorum. Bazı klasörler gibi katma src/test/javave src/test/resources. Ayrıca JavaSE-1.7 elde etmek için Java Build Path'da kitaplığı değiştirdim. Burada her şey yolunda.

Projects Facet Dinamik Web Modülünü değiştirmeye çalıştığımda bir şeyler ters gitti. Java'yı aynı yerde 1.7 olarak değiştirmiştim. Ve hala bana söyledi, proje faset Dinamik Web Modülü sürümünü 3.0 olarak değiştiremezsiniz.

Düşündüğüm değişimi etkileyecek her şeyi değiştirdim.


TAMAM. Bunun için üzgünüm. Yeni Maven Projesi'ni oluşturduğumda, arketip maven-archetype-webapp ve projeyi oluşturduktan sonra Dinamik Web Modülü 2.3. Dinamik Web Modülü'nün sürümünü 3.0 olarak değiştirmek istiyorum ve 'Proje faseti Dinamik Web Modülü'nün sürümü 3.0 olarak değiştirilemiyor'
EdgarZeng


Eclipse Kepler'de, 'Dinamik Web Modülü' modeline sağ tıkladığımda bir 'Kilidi Aç' seçeneği görüntüler. Kilidi açtıktan sonra model versiyonunu değiştirebildim. sadece bilgi için.
Jonathan

Tutulma için bir hata mı?
CDT

Yanıtlar:


311

Güncelledim 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>

ve sonra sadece Maven -> Projeyi Güncelle ...


64
Web.xml güncellemesi benim için çalışmadı. @Enkor tarafından verilen çözüm çalışıyor: stackoverflow.com/a/18632054/378633
jplandrain

5
3.1 web.xml dosyası <? Xml version = "1.0" encoding = "UTF-8"?> <Web-app 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 "sürüm =" 3.1 ">
Jakob Alexander Eichler

3
web.xml içermeyen projelere ne dersiniz? :)
Anand Rockzz

sürüm özelliğinin 3.0 olarak değiştirilmesi de benim için çalışmadı
tequilacat

Yukarıdaki ve aşağıdaki çözümlerin hiçbiri işe yaramazsa bu bağlantıdan% 100 geçerse işe yarayacaktır.
Rakı

587

Başka bir yol, proje faset yapılandırma dosyasının kendisini düzenlemektir: org.eclipse.wst.common.project.facet.core.xml

Bu satırdaki dinamik web modülü sürümünü 3.0 olarak değiştirin - <installed facet="jst.web" version="2.5"/>

Ve sonra:

  1. Projeye sağ tıklayın ( Proje Gezgini panelinde).
  2. Maven »Projeyi Güncelle'yi seçin (veya tuşuna basın Alt+F5)

Bu dosyayı .settingsEclipse projesi içindeki dizinde bulabilirsiniz .


3
Teşekkür ederim. Aslında yukarıdaki gibi başka bir şey yapmalıyız, web.xml'deki web modülünün sürümünü değiştirmeliyiz, eğer değilse, 'Dağıtım Tanımlayıcısı' sürümü 3.0 olarak değişmeyecek. Ve bu maven eklentisinde bir hata mı?
EdgarZeng

13
Bu, projenizde bir web.xml olmadan giderken bu sorunu çözmenin tek yolu gibi görünüyor.
Shawn Sherwood

3
Zaten web.xml 3.0 vardı ve STS hala güncelleme başarısız oldu ve mvn güncelleme de yardımcı olmadı. Ancak bu yöntem işe yarıyor.
MiB

2
Bu, aslında -> org.eclipse.wst.common.project.facet.core.xml -> tüm girişleri kaldır -> maven güncelleme projesine gitmenize yardımcı oldu.
eskimiş

7
Org.eclipse.wst.common.project.facet.core.xml dosyasını uygulama / proje .settings klasörünüzde bulabilirsiniz.
Rushi Shah

175

Sanırım seninle aynı problemi yaşadım. Web.xml sürümüm 2.5 sürümüne sahipken, projede (Project-> Properties-> Project Facets-> dinamik Web Modülü 2.3'e sağ tıklayın).

Sürüm 2.3'den 2.5'e değiştirilmeye çalışılmasına rağmen ECLIPSE buna izin vermedi. Çözüm: Dinamik Web Modülü başlığı altındaki onay işaretini kaldırdım, kaydettim ve Güncelleme Projesi vardı. Otomatik olarak yeniden uyanma doğru sürümle kutuya giriyor. Eclipse Kepler kullanıyorum.

ps: Jonathan'ın hemen altındaki yorumlarına bakın, çok yararlı.


1
Harika! Sorunumu çözdü ama neden başlangıçta dinamik modülü kurmaya izin verilmediğini söyleyebilir misin?
Suresh

26
@Suresh, bence sürümü değiştirmeye izin vermeme sorunu kilitli. 'Dinamik Web Modülü' modeline sağ tıklarsanız, 'Kilidi Aç' seçeneği görüntülenir. Kilitlemeyi kaldırdıktan, DWM fasetinin kontrolünü kaldırdıktan, faseti tekrar uyguladıktan ve proje maven güncellemesini yaptıktan sonra hata ortadan kalktı.
Jonathan

2
+1. Bu son derece önemli nokta olmadan, başkalarının cevapları boşuna. Cevabın sadece Jonathan’ın yorumu içermesi gerektiğini düşünüyorum.
Gangnus

1
+1 @Jonathan Bahşişiniz işi yaptı. Bunu bir cevap olarak yayınlamanız gerekiyor ve biz de bunu Eclipse'e yükseltmeliyiz!
aksappy

Benim durumumda bu çalışır web modül pom'da Dnamic web modülü için başka bir sürüm ayarlandı, bu yüzden beyaz proje yapılandırması çakışıyor
ocrampico

49
  1. Proje klasörünüzü tıklayın.
  2. Pencere> Görünümü Göster> Gezgin'e gidin
  3. Gezgin'e gidin ve .settings klasörünü genişletin
  4. org.eclipse.wst.common.project.facet.core.xmlDosya aç

    <?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. Sürümü böyle değiştirin <installed facet="jst.web" version="3.1"/>

  6. Kayıt etmek
  7. Sadece projenizi güncelleyin. Proje Klasörü> Maven> Projeyi Güncelle> Projeyi Sağ tıklayın ve 'Tamam'ı tıklayın

Sadece bu benim için çalıştı.


43

Aynı sorunu yaşadım ve hatta projeyi kaldırmaya ve tekrar eklemeye çalıştım. İşin püf noktası .settingsdizini kaldırmaktı .


2
Bunu da yapmak zorundaydım. Java tabanlı bir yapılandırmaya sahip bir Spring web projesi kullanıyordum, bu yüzden bir web.xml dosyasını güncellemek benim için mümkün değildi.
bcody

.Setting'i sildikten sonra neden işe yaradı lütfen exaplain
Abhijit Chakra

Bu .settings dizini birçok şey içeriyor ve belki bazıları zamanla değişti. Bu davranışı hangi bölümün etkilediğini tam olarak bilmiyorum, ama bu bir sıfırlama gibiydi. Diğer cevapların hiçbiri benim için işe yaramadı, ama bu cevap. Ve öyle görünüyor ki bu durumda tek ben değildim.
Adrian Ber

Benim için çalıştı, bu hatayla karşılaştım: "Proje yönü EAR sürümü 1.3 olarak değiştirilemiyor."
Giovanni P.

Benim için çalıştı! Şu hatayı aldım: "Project facet Dynamic Web Module sürümü 3.0 olarak değiştirilemiyor"
Anup Ghosh

24

Sil

.settings 
.classpatch 
.projejct 
target

ve maven projesini tekrar içe aktarın.


Maven Projesini tekrar nasıl alabilirim. Ben bu konuda yeniyim.
Daniel Brower

21

Benim için ne işe yaradı:

  1. Java'yı 1.8 (veya 1.7) olarak değiştirin

POM'nizde - derleyici eklentisini <build>bölüm 1.8 (veya 1.7) sürümüne ayarlamanız gerekir :

  <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>

Java Build değişikliğinin 1.8 değerini gösterdiğinden emin olun. Değilse - DÜZENLE'yi tıklayın ve ne olması gerektiğini seçin.

resim açıklamasını buraya girin

  1. Web.xml dosyasında 3.0 sürümüne ve bağlantıya başvurulur

resim açıklamasını buraya girin

  1. Proje Özelliklerinde Java'nın 1.8 olarak ayarlandığından emin olun

resim açıklamasını buraya girin

  1. Bu aşamada Dinamik Web Modülünü hala değiştiremedim;

Değiştirmek yerine:

a) Dinamik Web Modülünün işaretini kaldırın

b) başvurmak

c) tekrar kontrol edin. Yeni sürüm 3.0 ayarlanmalıdır. **

resim açıklamasını buraya girin

Tekrar uyguladıktan ve kontrol ettikten sonra:

resim açıklamasını buraya girin

Bu yardımcı olur umarım.


15

Projeye sağ tıklayın → Özellikler ; içinde Proje YÖNÜ , seçimi bırak Dinamik Web Modülü (sürüm olmalıdır 3.1 ) ve seçimi bırak JavaSunucu Faces (sürümüdür 2.2 ).

Bunu değiştir:

<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">

buna:

<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">

Sonra öneki param-nameve benzerlerini kaldırın .

Son olarak Maven -> Projeyi güncelle .


8

lütfen Gezgin görünümünü ve sonraki adımı açın

  1. (Pencere> Görünümü Göster> Diğer> Genel) seçin ve projenizin altında bir .settings klasörü olduğunu bulun, genişletin ve sonra "org.eclipse.wst.common.project.facet.core.xml" dosyasını açın. aşağıdaki değişiklikleri ve dosyayı kaydedin.
  2. Bu satırdaki dinamik web modülü sürümünü 2.5 olarak değiştirin.
  3. Bu satırdaki Java sürümünü 1.5 veya daha yüksek bir değere değiştirin -.

5
"Görünümü Göster" iletişim kutusundaki "Genel" klasörü altında hangi görünümü seçmeniz gerektiğini söylemeyi unuttunuz. "Gezgin" görünümü mü?
Roberto Linares

6

Web.xml dosyasını proje yapısından açın http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd "version =" 3.0 "> Servlet 3.0 Web Uygulaması

ve web.xml dosyasını güncelleyin, örneğin sürüm = "2.5" değiştir

Ayrıca org.eclipse.wst.common.project.facet.core.xml dosyasını projeniz .settings dosyasından değiştirin 1. Pencere> Görünümü Göster> Diğer> Genel> Gezgin

  1. Proje dizininizin altında bir .settings klasörü var

  2. Bu satırdaki dinamik web modülü sürümünü 2.5 olarak değiştirin 4.Bu satırdaki Java sürümünü 1.5 veya daha yüksek bir değere değiştirin

Şimdi projenizi yenileyin ve sunucunuzda çalışacak şekilde ayarlayın.

Çözüm için blog'u takip edin http://scrapillars.blogspot.in/2014/02/how-to-change-project-facet-in-eclipse.html

Çözüm, resim çizimleriyle üretilir


Bu bağlantı soruyu cevaplayabilse de, cevabın temel kısımlarını buraya eklemek ve bağlantıyı referans olarak sağlamak daha iyidir. Bağlantı verilen sayfa değişirse, yalnızca bağlantı yanıtları geçersiz olabilir.
Micha

Pom.xml dosyasında crunchify.com/… 'da gösterildiği gibi değişiklikler yaptım . Ancak bu yeterli değildi. Ayrıca .settings klasörünü açmak ve or.eclipse.wst.common.project.facet.core.xml dosyasını düzenlemek için öneriyi takip etmek zorunda kaldım.
blackjack

6

Bu sorunu benim için çözdüğüm en iyi ve basit adımlar 1) Özellikler -> Proje Özellikleri -> Dinamik Web Modülü onay kutusunun işaretini kaldırın / işaretini kaldırın -> Uygula 2) Şimdi istediğiniz sürüme geçin Uygula 3) Dinamik web Modülü onay kutusunu işaretleyin .. --Şimdi bitti -


1
İyi çalıştı ama bunun sonucu nedir?
sg28

4

Onların bu sorunu çözmek için bir başka yoludur (sorununuzu çözmenize yardımcı olacağını umuyoruz)

SORUN

Proje model dinamik web modülü 2.3 sürümü 3.0 sürümüne değiştirilemiyor

ÇÖZÜM

  1. Proje konumunuza gidin (ör.-D: / maven / todo)
  2. .setting klasörüne git
  3. bu dosyayı kontrol et: org.eclipse.wst.common.project.facet.core.xml
  4. dosyayı açın ve "jst.web" özelliğini 2.3'den 3.0'a değiştirin ve kaydedin
  5. Projeye sağ tıklayın, projeyi yenileyin ve maven'i güncelleyin
  6. Bitti !!! ....

3

Web.xml hilesi çalışır çünkü artık WTP'ye, kapsayıcı neyi desteklediğinden bağımsız olarak söz konusu sunucu uygulaması sürümünü kullandığınızı açıkça söylüyorsunuz.

Benim durumumda, bir Maven projesi içinde ek açıklama yapılandırmasını kullanıyorum ve bir web.xml dosyası yok. Bir web.xml olmadığında, WTP'nin hangi Servlet sürümünü kullanacağını belirlemek için Maven bağımlılıklarınıza baktığı ortaya çıkıyor. Benim durumumda, aşağıdakileri tanımlamıştım:

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

6.0 olarak değiştirmek sorunu çözdü ve şimdi JavaEE 7 için varsayılan olan 3.1 yerine Servlet 3.0 kullanıyor. Tomcat 8'den Tomcat 7'ye gitmek zorunda olduğumdan, Tomcat 7 sadece JavaEE 6 Web profilini desteklemektedir. Şimdi işler harika çalışıyor.


3

Aynı sorunu yaşadım, web.xml dosyasını düzenlemenin yanı sıra yalnızca .settings klasöründeki dosyayı değiştirmek yardımcı olmadı. Benim çözüm pom.xml düzenleyerek istenen java sürümünü kullanmak için maven derleyici eklentisini doğrudan işaret etmekti:

  <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> 

Şimdi Maven-> Güncelleme projesini çalıştırın ve bundan sonra özellikler-> proje yönleri-> Dinamik Web modülü sürümünde sunucu uygulamalarını değiştirebilir veya daha önce yazıldığı gibi org.eclipse.wst.common.project.facet.core dosyasını el ile düzenleyebilirsiniz. xml projenizin .settings klasöründe.


2

Benim durumumda web.xml dosyasına bir dtd. Bunu Sydney tarafından yayınlanan gibi xsd referans olarak değiştirdikten sonra çalıştı.


2

Aynı sorunu yaşadım .settings klasörünü silmek sorunu çözdü


1

Eclipse'de (Mars) proje faseti Dinamik Web Modülü'nün sürümünü değiştirmeme izin vermeyen soruna çözümüm şuydu:

  • Maven Nature'ı devre dışı bırak
  • Web.xml ad alanlarının doğru sürüme işaret ettiğinden emin olun
  • Maven Nature'ı yeniden etkinleştir
  • Maven »Projeyi Güncelle (veya Alt + F5 tuşlarına basın)

1

Sydney'in cevabı hala yardımcı olmazsa, aşağıda deneyin. Sydney'in cevabını takip ettikten sonra, Özellikler> Projeler Kısıtlamaları seçeneğine gidin Dinamik Web Modülünün seçimini kaldırın ve sürümü web.config'nize uyacak şekilde değiştirin ve tekrar seçin. Uygula> Kaydet Sonra Maven Güncellemesi.

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

Burada cevapların çoğunu denedim, ama hiçbiri benim için çalışmadı. Sonra burada sorunum hakkında bir makale buldum . Burada da paylaşmayı düşündüm.

Aşağıda kısaca atılan adımlar verilmiştir.

  1. Derleyici uyumluluk düzeyini ayarlayın.
  2. Proje modelini güncelleme
  3. Yüklü JRE'yi tercihlerden güncelleme
  4. Java 1.7 ve son olarak kullanmak için pom.xml'de yapılandırma ekleme
  5. Maven projesinin güncellenmesi.

1

Bir maven tutulması web projesi için dinamik web modülü sürümünün değiştirilmesinin üç yeri kontrol etmesi gerekir. Tutulma kullanılıyorsa ve aşağıdakileri kontrol ettikten sonra: 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) Maven:

<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) tutulma derleme yolu ve derleyici sürümü 1.7

maven'de hala bir hata işaretleyiciniz var:

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

Ardından şunları yapabilirsiniz: dinamik web modülünün işaretini kaldırabilir ve yeniden kontrol edebilirsiniz. Ben eclipse dosyasının .settings bir şekilde bozuk çünkü düşünüyorum. İkinci ipucu hakkında hangi sürüm iyi bir not tomcat .


1

Genel bir Java Projesi'ni Maven Project'e dönüştürmeye çalıştığımda bu hatayı aldım .

Yaptığım şey, projemin gerektirdiği Java derleyici sürümünü belirlemekti. Projem için minimum Java sürümü 1.8.

Sürümü IDE'imden daha düşük bir şeye indirerek, 1.8bir sürü ithal kütüphaneyi tanımadığından şikayet etmeye başlayacak, bu nedenle benim minimum Java sürümünü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

resim açıklamasını buraya girin

Şimdi Java derleyici sürümünün Project Facets'de ayarladığınız Java sürümünü kullandığından emin olun.

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.

resim açıklamasını buraya girin

Değişikliklerden sonra hata giderilmelidir. Hata hala devam ediyorsa, projeyi sağ tıklayın -> Maven -> Projeyi Güncelle



0

Org.eclipse.wst.common.project.facet.core.xml dosyasını açın ve jst.web sürümünü 3.0 olarak değiştirin. Ayrıca web.xml dosyasını 3.0 sürümüne güncelleyin. Projeyi kaydedin ve güncelleyin. Bu yardımcı olur umarım. Eclipse Juno kullanıyorum


0

Bu pagurix'in cevabındaki bir varyasyon, ancak Eclipse Mars kullanıyor.

Web.xml dosyanızı web.bak olarak değiştirin

Hataları görmezden gelin, daha sonra yeniden oluşturacağız.

Proje özelliklerine -> proje fasetlerine gidin ve Dinamik Web Modülü sürümünü ihtiyacınız olana ayarlayın. Eclipse artık kaydetmenize izin veriyor.

Şimdi projeye sağ tıklayın. Java EE Araçları -> Dağıtım Tanımlayıcı Saplaması Oluştur'u seçin.

Bu, gerekli sürüm ile yeni bir web.xml oluşturur.

Yeni web.xml dosyasını açın ve XML üstbilgisi ve tüm web uygulaması açılış etiketini orijinal web.bak'inize kopyalayın, yeni web.xml dosyasını silin ve web.bak'ı web.xml olarak yeniden adlandırın.

Bitti.


0

Mayın oldu Web Module 3.0yılında web.xml, ama properties>Dynamic Web Modulebu oldu3.1

Bunu şu şekilde değiştirdim 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">

bu değişiklikten sonra şunları yapın: right click on project>Maven>Update Project...


0

Bu Sorun sürümü ile proje üzerinde sağ tıklayın-> özellikleri-> proje yönleri-> sağ tıklayın dinamik web modülü-> kilidini--> işaretini kaldırmak-> seçin 2.5 sürümü-> uygu--> güncelleme maven


0

Ben sorunu çözüldü web.xml değiştirerek doğru sürüme, xsd yerlerle ve org.eclipse.wst.common.project.facet.core.xml değiştirerek doğru sürümü ile ve yapıyor maven güncelleştirme .


0

maven güncellemesi benim için çalıştı

projeyi seçip ALT + F5 tuşlarına basın ve projeyi seçin tıklayın tamam


0

Farklı bir tedavi ile aynı belirtiye sahiptim. Orada yeni JSF websocket hooks zevk için JSF 2.2.4 / Bahar 3.0 webapp JSF 2.3 yükseltmeye çalışıyordu ve Eclipse (aslında STS) işbirliği olmaz. Eclipse'nin Proje Özelliklerinde, önceki cevaplarda belirtildiği gibi doğrudan org.eclipse.wst.common.project.facet.core.xml dosyasını düzenleyene kadar JSF 2.3 hiçbir zaman mevcut değildi - en yüksek gitmek 2.2 idi.

İşte atladığım çemberler. Bunların hepsinin gerekli olduğunu bilmiyorum çünkü temelde tüm bu yapılandırmayı anlamıyorum.

Eclipse'de sık sık korkutucu bir uyarı aldım, "Bir veya daha fazla yüklenmiş faset uygulaması mevcut olmadığında yönlü bir projeyi değiştirmek potansiyel olarak bozuk bir projeye neden olabilir. Devam etmek istediğinizden emin misiniz?" Bu, daha sık taahhütte bulunmamı istedi, ancak herhangi bir yolsuzluk olmadı.

  1. JDK'yı POM, Eclipse derleyicisi ve Eclipse Project Facets'te 1.7'den 1.8'e yükseltin.
  2. Aşağıdaki Maven bağımlılıklarını güncelleyin:

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

    ... için:

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

... ve ...

    <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>

... için:

    <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 ad alanı bildirimlerimi güncellemek zorunda kaldım:

<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">

... için:

<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">

Project Facets -> Dynamic Web Module'ü 2.5'ten 3.0'a güncellemek zorunda kaldım. 3.1 denedim ama hatalar aldım.

Bu süreçte sık sık bu yazının başlığında, "Proje faseti Dinamik Web Modülünün sürümü 3.0 olarak değiştirilemiyor" hatası alıyorum ve Eclipse projeyi derlemeyi veya Proje Fasetlerinde JSF 2.3 teklifini reddetti. Org.eclipse.wst.common.project.facet.core.xml dosyasını hataları düzelttiği şekilde düzenlediğimde, Eclipse Project Facets'te JSF 2.3'ü sundu ve proje derlendi ve Tomcat 9.0.8'de iyi çalıştı. Ancak, Proje Özellikleri hala "Proje faset jst.jsf'nin 2.3 sürümünün uygulanması bulunamadı. İşlevsellik sınırlı olacaktır." Bunun, otomatik tamamlama ve diğer Eclipse kolaylıklarının kullanılabilir olmayacağı anlamına geliyor çünkü POM'mda bildirilen JSF 2.3 uygulamasını bulamıyor.

Umarım bu birine yardımcı olur. Google aramaları sadece bu yayını Ali Bassam ve dolaylı olarak BalusC tarafından sağladı.


0

Aynı sorunu yaşadım - projeyi çalışma alanımdan kaldırdım, sonra "eclipse dosyalarını / klasörlerini temizledim, örneğin: .project, .settings, vb.) Sonra maven projesini tekrar içe aktardı, işe yaradı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.