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?


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

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


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


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.


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.