rilis target tidak valid: 1.7

121

Saya telah melihat pertanyaan serupa, tetapi belum menemukan jawabannya.

Menggunakan kompilasi maven, saya mendapatkan:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project api: Fatal error compiling: invalid target release: 1.7 -> [Help 1]

Inilah pom.xml tersebut:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.0</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

Versi Javac:

javac 1.7.0_25

Versi Java:

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

Tahu apa itu?

Karan
sumber
14
Kemungkinan besar maven berjalan menggunakan Java 6.
Peter Lawrey
3
Saya akan memeriksa semua variabel lingkungan Anda untuk melihat apakah ada yang menggunakan Java 6. misalnya Java 7 mungkin ada di jalur Anda, tetapi saya ingat maven menggunakan JAVA_HOME atau semacamnya.
Peter Lawrey
36
Jalankan mvn -version. Ini akan memberi tahu Anda Java mana yang digunakannya.
JB Nizet
Anda benar, mvn menggunakan java 1.6 - bagaimana saya bisa mengubahnya?
Karan
1
setel variabel JAVA_HOME ke direktori home JDK7 Anda.
JB Nizet

Jawaban:

159

Anda perlu menyetel JAVA_HOME ke direktori beranda jdk7 Anda, misalnya di Microsoft Windows:

  • "C: \ Program Files \ Java \ jdk1.7.0_40"

atau di OS X:

  • /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
Michał Nowak
sumber
71
Di Mac, tempat jdk6 dan jdk7 diinstal, ini dapat diterapkan di ~ / .profile:export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
Hank
3
jdk8 juga dapat digunakan untuk mendapatkan kepatuhan jdk7
Wolfgang Fahl
3
ingat untuk memuat ulang ~ / .profil di mac dengan:source ~/.profile
Caio Iglesias
Ini mungkin berfungsi untuk banyak hal tetapi itu tidak cukup untuk Maven dan tentunya tidak untuk plugin compiler maven. Periksa jawaban Mike untuk pertanyaannya sendiri di sini: pertanyaan stackoverflow 24705877 Ini memecahkan masalah bagi saya baik baris perintah DAN dalam gerhana. Selain itu, @LinGao menjawab pertanyaan stackoverflow 2503658 dan penggunaan variabel $ JAVACMD mungkin membantu.
Litome
42

Selain mengatur JAVA_HOMEvariabel lingkungan, Anda harus memastikan bahwa Anda menggunakan JDK yang benar dalam konfigurasi run Maven Anda. Pergi ke Run -> Run Configuration , pilih konfigurasi Maven Build Anda, buka tab JRE dan atur Runtime JRE yang benar.

Maven menjalankan konfigurasi

Stanley
sumber
+1, Saya tahu saya lupa memperbarui sesuatu ... Opsi default (untuk saya) saat membuat konfigurasi adalah "JRE Alternatif". Jika ada orang lain yang menjalankan ini, pastikan plugin maven Anda DAN konfigurasi diperbarui dengan benar!
king14nyr
Saya memiliki JAVA_HOME yang tepat untuk Java 8 tetapi saya masih kurang. Anda memecahkan masalah saya, terima kasih
dtortola
3

Di IntelliJ IDEA hal ini terjadi pada saya ketika saya mengimpor proyek yang telah bekerja dengan baik dan berjalan dengan Java 1.7. Sepertinya saya belum memberi tahu IntelliJ bahwa java 1.7 telah diinstal pada mesin saya, dan itu tidak menemukan milik saya $JAVA_HOME.

Di Mac, ini diselesaikan dengan:

Klik kanan pada modul | Pengaturan Modul | Proyek

dan menambahkan 1.7 SDK dengan memilih "New" di Project SDK.

Lalu pergi ke menu utama IntelliJ IDEA | Preferensi | Maven | Pelari

dan pilih JRE yang benar. Dalam kasus saya itu diperbarui dengan benar Gunakan SDK Proyek, yang sekarang 1,7.

pengguna1978019
sumber
Perhatikan bahwa ada Project Settings dan Preferences untuk Intellij di Mac setidaknya, saya harus pergi ke Settings -> Build Exec, Deploy -> Java Compiler dan kemudian atur versi bytecode proyek sesuai kebutuhan.
Dibuka
1

Ketika maven bekerja di luar Eclipse, tetapi memberikan kesalahan ini setelah perubahan JDK, Buka Konfigurasi Jalankan Maven Anda, dan di bagian bawah halaman Utama, ada opsi 'Maven Runtime'. Milik saya menggunakan Embedded Maven, jadi setelah mengubahnya menjadi menggunakan pakar eksternal saya, itu berhasil.

djb
sumber
di mana Konfigurasi Maven Run?
R Claven
1
Klik kanan pada build.xml Anda, buka 'Run as' dan kemudian 'Run Configuration' harus menjadi opsi terakhir. Jika Anda menelusuri jenis konfigurasi yang dijalankan, salah satunya adalah 'Maven Build', dan yang memiliki opsi untuk memilih 'Maven Runtime'. Ada tombol 'konfigurasi' di sebelahnya
djb
0

Ini mungkin berfungsi untuk banyak hal tetapi itu tidak cukup untuk Maven dan tentunya tidak untuk plugin compiler maven.

Periksa jawaban Mike untuk pertanyaannya sendiri di sini: pertanyaan stackoverflow 24705877

Ini memecahkan masalah bagi saya baik baris perintah DAN dalam gerhana.

Juga, @LinGao menjawab pertanyaan stackoverflow 2503658 dan penggunaan variabel $ JAVACMD mungkin membantu tetapi saya belum mengujinya sendiri.

Litome
sumber