Saya mengimpor proyek Maven dan menggunakan Java 1.5 meskipun saya telah mengkonfigurasi 1.6 sebagai Eclipse default saya Preferences->Java->Installed JREs
.
Ketika saya mengubah proyek Maven untuk menggunakan 1.6 JRE, masih ada kesalahan build yang tersisa dari ketika proyek menggunakan Java 1.5 (saya jelaskan kesalahan build ini sebelumnya: Saya telah membangun kesalahan dengan m2eclipse tetapi tidak dengan maven2 pada baris perintah - Apakah m2eclipse saya salah konfigurasi? )
Saya akan menghapus proyek dan mencoba lagi tapi saya ingin memastikan kali ini menggunakan Java 1.6 dari awal untuk melihat apakah ini menghilangkan masalah build.
Bagaimana saya memastikan proyek menggunakan Java 1.6 ketika saya mengimpornya?
Jawaban:
Plugin m2eclipse tidak menggunakan default Eclipse, plugin m2eclipse mendapatkan pengaturan dari POM. Jadi jika Anda ingin proyek Maven dikonfigurasi untuk menggunakan pengaturan Java 1.6 ketika diimpor di bawah Eclipse, konfigurasikan dengan
maven-compiler-plugin
tepat, seperti yang telah saya sarankan:Jika proyek Anda sudah diimpor, perbarui konfigurasi proyek ( klik kanan pada proyek kemudian Maven V Perbarui Konfigurasi Proyek ).
sumber
Saya menambahkan ini ke pom.xml saya di bawah deskripsi proyek dan berhasil:
sumber
<properties> <maven.compiler.source>9</maven.compiler.source> <maven.compiler.target>9</maven.compiler.target> </properties>
Saya ingin menambahkan sesuatu ke jawaban yang sudah disediakan. maven-compiler-plugin secara default akan mengkompilasi proyek Anda menggunakan Java 1.5 yang mana m2e mendapatkan informasinya.
Itu sebabnya Anda harus secara eksplisit mendeklarasikan maven-compiler-plugin di proyek Anda dengan sesuatu selain 1.5. Efektif Anda secara
pom.xml
implisit akan menggunakan set default di maven-compiler-pluginpom.xml
.sumber
DEFAULT_SOURCE
danDEFAULT_TARGET
, tetapi keduanya masih diatur ke 1.5.sumber
Berikut ini adalah akar penyebab java 1.5:
Referensi: Plugin Kompiler Apache Mavem
Berikut ini rinciannya:
Pom.xml polos
Plugin berikut diambil dari versi POM yang diperluas (POM Efektif),
Ini bisa didapat dengan perintah ini dari baris perintah yang
C:\mvn help:effective-pom
saya taruh di sini potongan kecil bukan seluruh pom.Bahkan di sini Anda tidak melihat di mana versi java didefinisikan, mari menggali lebih lanjut ...
Unduh plugin, Apache Maven Compiler Plugin »3.1 sebagai tersedia di jar dan buka di alat kompresi file seperti 7-zip
Lintasi tabung dan temukan
file di dalam folder
Sekarang Anda akan melihat bagian berikut dalam file,
Lihatlah kode di atas dan cari tahu 2 baris berikut
Semoga berhasil.
sumber
quickstart
artefak.JRE Anda mungkin ditentukan dalam menjalankan konfigurasi. Ikuti langkah-langkah ini di Eclipse untuk mengubah build JRE.
1) Klik kanan pada proyek dan pilih Run As > Run Configurations
2) Dari jendela Run Configurations, pilih konfigurasi build proyek Anda di panel kiri. Di sebelah kanan, Anda akan melihat berbagai tab: Main, JRE, Refresh, Source, ...
3) Klik pada tab JRE, Anda akan melihat sesuatu seperti ini
4) Secara default, Work Default JRE (JRE yang Anda pilih sebagai default di dalam Preferences-> Java-> Installed JREs ) akan digunakan. Jika Anda ingin menggunakan JRE lain yang terinstal, centang kotak Alternate JRE dan pilih JRE pilihan Anda dari dropdown.
sumber
Solusi paling sederhana di Springboot
Saya akan memberi Anda yang paling sederhana jika Anda menggunakan Springboot:
Kemudian, klik kanan pada proyek Eclipse Anda: Maven> Perbarui proyek> Perbarui konfigurasi proyek dari pom.xml
Itu harus dilakukan.
sumber
Pengaturan spesifik proyek
Satu lagi tempat di mana ini bisa salah adalah dalam pengaturan spesifik proyek, di Eclipse.
properti proyek: klik proyek Anda dan salah satu dari yang berikut:
klik pada "Java Compiler"
Karena persyaratan klien, kami memungkinkan mereka mengaktifkan proyek-proyek kami di 1.6. Ketika diperlukan untuk meningkatkan ke 1.7, kami mengalami kesulitan karena kami perlu mengubah versi java di semua tempat:
sumber
Satu lagi alasan yang mungkin jika Anda menggunakan Tycho dan Maven untuk membangun bundel, bahwa Anda memiliki lingkungan eksekusi yang salah (
Bundle-RequiredExecutionEnvironment
) dalam file manifes (manifest.mf
) yang ditentukan. Sebagai contoh:Dalam kasus saya, semuanya baik-baik saja Plugin compiler (maven dan tycho normal juga) ditetapkan dengan benar, masih m2 menghasilkan tingkat kepatuhan lama karena manifes. Saya pikir saya berbagi pengalaman.
sumber
Saya menemukan bahwa masalah saya adalah seseorang melakukan file .project dan .classpath yang memiliki referensi ke Java1.5 sebagai JRE default.
Dengan menutup proyek, menghapus file, dan kemudian mengimpor kembali sebagai proyek Maven, saya dapat mengatur proyek dengan benar untuk menggunakan JRE workspace atau jdk yang relevan tanpa kembali ke 1,5. Dengan demikian, hindari memeriksa file .project dan .classpath SVN Anda
Semoga ini bisa membantu orang lain.
sumber
Jika Anda ingin memastikan bahwa proyek yang baru dibuat atau proyek yang diimpor di Eclipse menggunakan versi java default lain dari Java 1.5, Anda dapat mengubah konfigurasi di maven-compiler-plugin.
Di baris berikut:
<source implementation = "java.lang.String" default-value = "1.5"> $ {maven.compiler.source} </source>
<target implementasi = "java.lang.String" nilai-default = "1,5"> $ {maven.compiler.target} </target>
ubah nilai default menjadi 1,6 atau 1,8 atau apa pun yang Anda suka.
Mulai sekarang semua proyek Maven baru menggunakan versi java yang Anda tentukan.
Informasi dari posting blog berikut: https://sandocean.wordpress.com/2019/03/22/directly-generating-maven-projects-in-eclipse-with-java-version-newer-than-1-5/
sumber
Untuk mengubah versi JDK, Anda dapat melakukan:
1- Project> Properties
2- Pergi ke Java Build Path
3- Di Libraries, pilih JRE System ... dan klik Edit
4- Pilih versi yang sesuai dan validasi
sumber