Saya menggunakan pakar untuk membuat aplikasi web dinamis di Eclipse. Saya menambahkan beberapa folder seperti src/test/java
dan src/test/resources
. Saya juga mengubah perpustakaan di Java Build Path untuk mendapatkan JavaSE-1.7. Tidak apa-apa sampai disini.
Ketika saya mencoba untuk mengubah Modul Web Proyek Facet Dynamic sesuatu yang tidak beres. Saya telah mengubah Java menjadi 1,7 di tempat yang sama. Dan masih mengatakan kepada saya, tidak dapat mengubah versi segi proyek Dynamic Web Module menjadi 3.0.
Saya telah mengubah segala sesuatu yang akan mempengaruhi perubahan yang saya pikir.
Jawaban:
Saya memperbarui
web.xml
dan kemudian hanya Maven -> Perbarui Proyek ...
sumber
Cara lain adalah dengan mengedit file konfigurasi facet proyek itu sendiri:
org.eclipse.wst.common.project.facet.core.xml
Ubah versi modul web dinamis di baris ini menjadi 3.0 -
<installed facet="jst.web" version="2.5"/>
Lalu:
Anda akan menemukan file ini di
.settings
direktori dalam proyek Eclipse.sumber
Saya pikir saya memiliki masalah yang sama seperti Anda. Web.xml saya memiliki versi 2.5 sedangkan proyek memiliki (Klik kanan pada Project-> Properties-> Project Facets->) Dynamic Web Module 2.3.
Meskipun saya mencoba mengubah versi dari 2.3 ke 2.5 ECLIPSE tidak mengizinkannya. Solusi: Saya menghapus tanda centang di bawah judul Dynamic Web Module, saya menyimpan dan saya telah memperbarui Proyek. Secara otomatis kebangkitan kembali memasuki kotak dengan versi yang benar. Saya menggunakan Eclipse Kepler.
ps: lihat komentar Jonathan di bawah, sangat berguna.
sumber
Buka
org.eclipse.wst.common.project.facet.core.xml
fileUbah versinya seperti ini
<installed facet="jst.web" version="3.1"/>
Ini berhasil bagi saya.
sumber
Saya memiliki masalah yang sama dan saya bahkan mencoba untuk menghapus proyek dan menambahkannya lagi. Apa triknya adalah menghapus
.settings
direktori.sumber
Menghapus
dan mengimpor lagi proyek pakar.
sumber
Apa yang berhasil untuk saya:
Di POM Anda - Anda harus mengatur plugin kompiler ke versi 1.8 (atau 1.7) di
<build>
bagian:Pastikan bahwa perubahan Java Build menunjukkan 1.8. Jika tidak - klik EDIT dan pilih apa yang seharusnya.
Alih-alih mengubahnya:
a) hapus centang pada Modul Web Dinamis
b) berlaku
c) periksa lagi. Versi 3.0 baru harus ditetapkan. **
Setelah mendaftar dan memeriksanya lagi:
Semoga ini membantu.
sumber
Klik kanan proyek → Properti ; dalam Project Facets , batalkan pilihan Dynamic Web Module (versi harus 3.1 ) dan batalkan pilihan JavaServer Faces (versi 2.2 ).
Ubah ini:
untuk ini:
Kemudian hapus awalan sebelum
param-name
dan sejenisnya.Akhirnya, Maven -> Perbarui proyek .
sumber
Anda silakan buka tampilan Navigator dan langkah selanjutnya
sumber
Buka web.xml dari struktur proyek http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd "version =" 3.0 "> Aplikasi Web Servlet 3.0
dan perbarui file web.xml misalnya ubah versi = "2.5"
Juga ubah file org.eclipse.wst.common.project.facet.core.xml dari file .settings proyek Anda Ikuti langkah-langkah 1. Window> Show View> Other> General> Navigator
Ada folder .settings di bawah direktori proyek Anda
Ubah versi modul web dinamis pada baris ini menjadi 2.5 4. Ubah versi Java pada baris ini menjadi 1.5 atau lebih tinggi
Sekarang segarkan proyek Anda dan siap untuk berjalan di server Anda.
Ikuti blog untuk solusinya http://scrapillars.blogspot.in/2014/02/how-to-change-project-facet-in-eclipse.html
Solusinya dihasilkan dengan ilustrasi gambar
sumber
Langkah-langkah terbaik dan sederhana untuk menyelesaikan masalah ini bagi saya adalah 1) Properti -> Project Facets -> Hapus centang / centang kotak Dinamis Modul Web -> Terapkan 2) Sekarang ubah ke versi yang diinginkan Terapkan 3) Centang kotak centang Modul web dinamis .. - Sekarang sudah selesai -
sumber
Mereka adalah satu lagi cara untuk menyelesaikan masalah ini (lihat saja harapannya akan membantu Anda untuk menyelesaikan masalah Anda)
MASALAH
Tidak dapat mengubah versi modul web dinamis segi proyek 2.3 ke 3.0
LARUTAN
sumber
Trik web.xml berfungsi karena Anda sekarang secara eksplisit memberi tahu WTP bahwa Anda menggunakan versi servlet tertentu, apa pun yang didukung oleh wadah.
Dalam kasus saya, saya menggunakan konfigurasi anotasi dalam proyek Maven dan saya tidak memiliki file web.xml. Ternyata dengan tidak adanya web.xml, WTP melihat dependensi Maven Anda untuk menentukan versi Servlet yang digunakan. Dalam kasus saya, saya telah menetapkan yang berikut:
Mengubahnya menjadi 6.0 memperbaiki masalah dan sekarang menggunakan Servlet 3.0 bukan 3.1, yang merupakan default untuk JavaEE 7. Karena saya harus beralih dari Tomcat 8 ke Tomcat 7, Tomcat 7 hanya mendukung profil Web JavaEE 6. Sekarang semuanya berjalan dengan baik.
sumber
Saya memiliki masalah yang sama, mengedit web.xml serta mengubah file di folder .settings saja tidak membantu. Solusi saya adalah mengarahkan langsung plugin maven compiler untuk menggunakan versi java yang diinginkan dengan mengedit pom.xml:
Sekarang jalankan Maven-> Perbarui proyek dan setelah itu Anda dapat mengubah versi servlets di properti-> proyek segi-> versi modul Web Dinamis atau, seperti yang ditulis sebelumnya, dengan mengedit secara manual org.eclipse.wst.common.project.facet.core. xml dalam folder .settings dari proyek Anda.
sumber
Dalam kasus saya, web.xml direferensikan oleh dtd. Setelah saya mengubah ini menjadi referensi xsd seperti yang diposting oleh Sydney itu berhasil.
sumber
Saya memiliki masalah yang sama, menghapus folder .settings menyelesaikan masalah
sumber
Solusi saya untuk masalah yang tidak memungkinkan saya untuk mengubah versi segi modul Dynamic Web Module di Eclipse (Mars) adalah:
sumber
Jika jawaban dari Sydney masih tidak membantu maka coba di bawah ini. Setelah mengikuti jawaban Sydney, goto Properties> Projects Facets batalkan pilihan Dynamic Web Module dan kemudian ubah versi untuk mencocokkan web.config Anda lalu pilih lagi. Terapkan> Simpan Kemudian Perbarui Maven.
web.xml
sumber
Saya mencoba banyak jawaban di sini, tetapi tidak ada yang bekerja untuk saya. Kemudian saya menemukan artikel tentang masalah saya di sini . Saya berpikir untuk membagikannya di sini juga.
Di bawah ini adalah langkah-langkah yang diambil secara singkat.
sumber
Untuk proyek web gerhana maven, mengubah versi modul web dinamis perlu memeriksa tiga tempat. Jika seseorang menggunakan gerhana, dan setelah Anda memeriksa yang berikut: 1) web.xml
2) pakar:
3) eclipse build path dan versi kompiler adalah 1.7
Anda masih memiliki penanda kesalahan di maven:
Kemudian Anda dapat: hapus centang pada modul web dinamis, dan periksa kembali. Saya pikir itu karena. Pengaturan file gerhana entah bagaimana rusak. Tentang kucing jantan ujung kedua versi mana yang merupakan catatan yang baik.
sumber
Saya mendapatkan kesalahan ini ketika saya mencoba untuk mengubah Proyek Java umum untuk Proyek Maven .
Apa yang saya lakukan adalah menentukan versi Java compiler yang diperlukan oleh proyek saya. Untuk proyek saya, versi Java minimum adalah
1.8
.Dengan menurunkan versi ke sesuatu yang lebih rendah dari
1.8
IDE saya akan mulai mengeluh bahwa ia tidak mengenali banyak pustaka yang diimpor, maka saya menentukan versi Java minimum milik saya sebagai1.8
Sekarang pastikan versi kompiler Java menggunakan versi Java yang sama dengan apa yang telah Anda atur di Aspek Proyek.
Setelah perubahan, kesalahan harus diselesaikan. Jika kesalahan masih ada, klik kanan proyek -> Maven -> Perbarui Proyek
sumber
Melakukan pembaruan pakar atau mengimpor ulang proyek tidak membantu. @ Jawaban Sydney benar; selain itu saya harus membuat ulang proyek di ruang kerja yang berbeda seperti yang dikatakan dalam JavaServer Faces 2.2 memerlukan Dynamic Web Module 2.5 atau yang lebih baru
sumber
Buka file org.eclipse.wst.common.project.facet.core.xml dan ubah versi jst.web menjadi 3.0. Perbarui juga web.xml ke versi 3.0. Simpan dan perbarui proyek. Semoga ini membantu. Saya menggunakan Eclipse Juno
sumber
Ini adalah variasi pada jawaban pagurix, tetapi menggunakan Eclipse Mars.
Ubah file web.xml Anda ke web.bak
Abaikan kesalahan, kami akan membuat ulang itu selanjutnya.
Pergilah ke properti proyek -> aspek proyek dan atur versi Modul Web Dinamis ke apa yang Anda butuhkan. Eclipse sekarang memungkinkan Anda untuk menyimpan.
Sekarang klik kanan pada proyek. Pilih Java EE Tools -> Generate Deployment Descriptor Desubtor.
Ini menciptakan web.xml baru dengan versi yang diperlukan.
Buka web.xml baru dan salin di header XML dan tag pembuka aplikasi web lengkap ke web.bak asli Anda, hapus web.xml baru dan ganti nama web.bak kembali ke web.xml.
Selesai
sumber
Punyaku ada
Web Module 3.0
diweb.xml
, tetapi diproperties>Dynamic Web Module
dalamnya3.1
Saya mengubah
web.xml
ini menjadi:setelah perubahan ini, lakukan:
right click on project>Maven>Update Project...
sumber
Masalah Ini Dengan versi klik kanan pada project-> properties-> Project Facets-> klik kanan pada Dynamic Web Module-> buka itu-> hapus centang-> pilih 2.5 versi-> Terapkan-> Perbarui pakar
sumber
Saya menyelesaikan masalah dengan memodifikasi web.xml dengan versi yang benar, lokasi xsd dan memodifikasi org.eclipse.wst.common.project.facet.core.xml dengan versi yang benar dan melakukan pembaruan pakar .
sumber
memperbarui pakar bekerja untuk saya
pilih proyek lalu tekan ALT + F5 lalu pilih proyek klik ok
sumber
Saya memiliki gejala yang sama dengan obat yang berbeda. Saya mencoba untuk meningkatkan webapp JSF 2.2.4 / Spring 3.0 saya ke JSF 2.3 untuk menikmati kait websocket JSF baru di sana dan Eclipse (sebenarnya STS) tidak mau bekerja sama. Dalam Project Facets Eclipse, JSF 2.3 tidak pernah tersedia sampai saya mengedit langsung file org.eclipse.wst.common.project.facet.core.xml seperti yang diarahkan pada jawaban sebelumnya - yang tertinggi adalah 2.2.
Inilah simpai yang saya lewati. Saya tidak tahu bahwa semua ini diperlukan karena pada dasarnya saya tidak mengerti semua konfigurasi ini.
Di Eclipse saya sering mendapat peringatan menakutkan, "Memodifikasi proyek faceted ketika implementasi dari satu atau lebih aspek yang diinstal tidak tersedia dapat berpotensi menghasilkan proyek yang rusak. Apakah Anda yakin ingin melanjutkan?" Ini mendorong saya untuk melakukan komitmen lebih sering tetapi tidak terjadi korupsi.
Perbarui dependensi Maven berikut:
... untuk:
... dan ...
... untuk:
Saya harus memperbarui deklarasi namespace web.xml saya dari:
... untuk:
Saya harus memperbarui Aspek Proyek -> Modul Web Dinamis dari 2.5 ke 3.0. Saya mencoba 3.1 tetapi mendapat kesalahan.
Dalam proses ini saya sering mendapat kesalahan dalam judul posting ini, "Tidak dapat mengubah versi segi proyek Dynamic Web Module menjadi 3.0" dan Eclipse menolak untuk mengkompilasi proyek atau menawarkan JSF 2.3 di Aspek Proyek. Ketika saya mengedit file org.eclipse.wst.common.project.facet.core.xml seperti yang diarahkan kesalahan menghilang, Eclipse menawarkan JSF 2.3 dalam Project Facets, dan proyek dikompilasi dan berjalan dengan baik pada Tomcat 9.0.8. Namun, Aspek Proyek masih memperingatkan "Implementasi versi 2.3 dari segi proyek jst.jsf tidak dapat ditemukan. Fungsionalitas akan terbatas." Saya menduga ini berarti bahwa autocomplete dan kenyamanan Eclipse lainnya tidak akan tersedia karena tidak dapat menemukan implementasi JSF 2.3 yang dinyatakan dalam POM saya.
Semoga ini bisa membantu seseorang. Pencarian Google hanya menghasilkan posting ini oleh Ali Bassam dan secara tidak langsung BalusC yang membantu.
sumber
Saya memiliki masalah yang sama - saya baru saja menghapus proyek dari ruang kerja saya, kemudian membersihkan "file / folder gerhana, misalnya: .project, .settings, dll) kemudian mengimpor proyek maven lagi, itu berhasil.
sumber