Saya menyusun proyek di Eclipse menggunakan m2eclipse. Saya mengatur jalur JDK di Eclipse seperti ini:
Windows-->preferences-->installed jres--> jdk1.7.xx path
Tapi ini menunjukkan kesalahan
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.424s
[INFO] Finished at: Tue Oct 29 15:21:01 IST 2013
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler- plugin:3.1:compile (default-compile) on project TEST-WEB: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
Jawaban:
Selain itu, Anda mungkin harus mengubah Maven JRE (lihat jawaban @ jlars62) yaitu sebagai berikut. Goto Run -> Run Configurations, pilih Maven Build I running (dari panel kiri). Kemudian, saya mengklik tab JRE dan memilih opsi WorkREace JRE default
sumber
Bagi saya, itulah yang dikeluhkan oleh pakar gerhana
Jadi, saya tekan
Edit
tombol dan ubah jalur ke Folder JDK, lalu bersihkan proyek dan semuanya mulai bekerjasumber
Installed JREs
folder bukannya jdk. Tapi itu benar-benar menyelesaikan masalah saya. Terima kasihJAVA_HOME
variabel lingkungan ke folder root JDK - diperlukan jika Anda menjalankan baris perintah atau pakar (mvn
).JAVA_HOME
info lebih lanjut)sumber
Bagi saya, tidak ada yang berhasil sampai saya melakukan perubahan pada pom.xml saya:
Catatan lain
Saya bisa melihat bahwa m2e mengeksekusi di JRE, bukan JDK. Tidak ada yang saya ubah ini, termasuk menambahkan ini ke eclipse.ini:
Pada akhirnya saya tidak pernah mendapatkan m2e untuk dieksekusi dalam JDK, tetapi pengaturan compiler Java secara eksplisit (seperti di atas) melakukan triknya.
sumber
Dalam kasus saya diselesaikan dengan melakukan ini:
Buka 'Runtime Configuration' Anda dan konfigurasikan JRE Anda ke JDK.
Saya menyalin jawaban kalau-kalau itu dihapus karena alasan tertentu, tetapi sumbernya ada di sini
sumber
Saya mendapatkan kesalahan ini ketika mencoba melakukan maven build dari dalam gerhana.
Bagi saya, jawabannya adalah
Run
->Run Configurations
, memilih yangMaven Build
saya jalankan (dari panel kiri). Kemudian, saya mengklikJRE
tab dan memilih opsiWorkspace default JRE
sumber
mungkin jre sudah ditambahkan
dan telusuri JDK di jalur kasus saya
C:\Program Files\Java\jdk1.8.0_111
Anda akan melihat jendela seperti ini
Dan Anda selesai.
sumber
Aku punya masalah yang sama dan saya hanya menambahkan
JAVA_HOME
untuk variabel lingkungan .JAVA_HOME
command prompt terbuka dari direktori proyek dan jalankanmvn clean install
(jangan gunakan terminal intellij).sumber
Saya mencoba semua hal di atas, namun, masih mendapatkan pesan kesalahan yang sama.
Dalam kasus saya, JRE aktual salah digunakan sebagai Pustaka Sistem JRE di jalur pembangunan khusus proyek yang jelas mengesampingkan semua pengaturan lain yang dibahas di sini.
Jika demikian dalam kasus Anda, coba yang berikut ini:
sumber
<build> <sourceDirectory>flockWebclient</sourceDirectory> <resources> <resource> <directory>resources</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
pom.xml AndaAlternatif jika jawaban jaipster tidak berfungsi adalah dengan masuk ke:
Window> Preferences> Java> Install JREs
Kemudian untuk mengedit jre sehingga menunjuk ke jdk dan bukan jre (rumah jre diajukan dalam editor paket jre)
Itu berhasil bagi saya.
sumber
Jika Anda menjalankan
Maven
perintah daricmd
, pastikan Anda mengatur jalur jdk sebelum menjalankan perintah. Dalam kasus saya, saya telah membuat.bat
file yang berisi yang berikut ini:sumber
Saya menghadapi masalah yang sama ketika mencoba untuk membangun file jar dari aplikasi proyek saya menggunakan
mvn clean install
, meskipun aplikasi itu berfungsi dengan baik saat menjalankan dari Eclipse.Masalahnya, memang terlalu naif, bahwa saya belum menetapkan variabel lingkungan JAVA_HOME . Yang harus saya lakukan adalah mengatur variabel lingkungan JAVA_HOME ke direktori JDK, pastikan itu tidak sampai "\ bin" dan tanpa titik koma ";" .
Bagaimana saya memahaminya adalah:
Aplikasi bekerja dengan baik di Eclipse karena JRE System Library merujuk ke JRE di dalamnya dalam folder JDK alih-alih folder JRE eksternal tanpa JDK. [Seperti dijelaskan dengan sangat baik dalam jawaban lain]
Konfigurasi ini tidak berlaku untuk perintah pakar yang kami jalankan di command prompt. Itu masih akan mencari variabel JAVA_HOME untuk mengakses perpustakaan Sistem JRE dan ketika tidak ditemukan itu merujuk ke folder JRE eksternal tanpa JDK.
sumber
Ada beberapa opsi untuk ditentukan.
Langkah-langkah: Tepat pada proyek dalam penjelajah proyek Pergi ke Run-> Run Configuration -> Klik Build Maven -> Klik pada konfigurasi build Anda / atau buat konfigurasi baru. Anda akan melihat jendela sebagai snapshot yang diberikan di bawah ini, klik pada tab JRE di sana.
Anda melihat Anda memiliki 3 opsi 1) JRE Default Workspace 2) Lingkungan Eksekusi 3) Alternatif JRE 1) Default JRE Workspace diatur dari menu 'Window' di atas -> Preferensi -> Java -> Install JREs -Di sini Anda dapat menambahkan jdk 2) Lingkungan Eksekusi jdk dapat diatur dalam pom.xml seperti yang disebutkan oleh @ksnortum
3) Alternatif JRE dapat digunakan untuk memilih jdk dari direktori Anda
sumber
Bagi saya JRE berada di variabel lingkungan PATH sebelum jalur JDK
Jadi saya menghapus 1. Mungkin menukar mereka juga akan memperbaikinya.
sumber
Jawaban saya berkaitan dengan Eclipse di lingkungan Windows.
Saya pergi ke Preferensi -> Java -> JRE Terinstal Saya TIDAK melihat JDK di sini. Saya hanya melihat JRE di sini. Jadi saya menambahkan JDK dan kemudian hapus centang pada JRE. Kemudian diperiksa JDK. Kemudian saya menjalankan file POM menggunakan Run Configurations. Pilih tab JRE dan pilih opsi "Default Ruang Kerja ..." Berikut adalah gambar-gambarnya
sumber
Pernyataan masalah = Tidak ada kompiler yang disediakan di lingkungan ini. Mungkin Anda menjalankan JRE daripada JDK? intellij
Larutan
Silakan atur variabel Lingkungan seperti di bawah ini untuk menyelesaikan masalah
Nama variabel : JAVA_HOME
Nilai Variabel : C: \ Program Files \ Java \ jdk1.8.0_202
Nama variabel : M2_HOME
Nilai Variabel : C: \ Program Files \ apache-maven-3.6.0
Selain itu , Tambahkan path Java dan maven di " System Variables " seperti di bawah ini:
C: \ Program Files \ Java \ jdk1.8.0_202 \ bin
C: \ Program Files \ apache-maven-3.6.0 \ bin
sumber
Ada kemungkinan jawaban lain untuk pertanyaan ini, dan saya mungkin satu-satunya orang yang cukup bodoh untuk menemukan ini, tetapi saya pikir ini layak untuk ditambahkan, karena tidak ada jawaban lain yang diterapkan karena saya sudah memiliki pengaturan itu dengan benar.
Ketika Anda menginstal JDK, penginstal bertanya di mana Anda ingin menginstal file. Secara default, pada Windows, ini adalah sesuatu seperti C: \ Program Files \ Java \ jdk1.8.0_74 (atau versi apa pun yang Anda instal).
Kemudian meminta Anda untuk direktori untuk menginstal JRE, yang secara default adalah sesuatu seperti C: \ Program Files \ Java \ jre1.8.0_74.
Perhatikan bahwa satu adalah jdk 1.8.0_74 dan yang lainnya adalah jre 1.8.0_74
Saya terburu-buru, dan berpikir installer menginstal dua kali pertanyaan yang sama kepada saya, atur lokasi instalasi JDK dan JRE saya ke D: \ devtools \ jdk1 jdk1.8.0_74, yang mengakibatkan pemasang menimpa JDK dengan JRE. Ini menghasilkan (antara lain) javac.exe yang hilang di bin JDK saya, dan kesalahan yang sama yang dilaporkan OP di sini pada semua pakar saya.
sumber
Saya mendapat solusi.
Solusi paling umum untuk masalah ini adalah mengubah lokasi jdk sebagai JRE Terpasang saya alih-alih lokasi JRE tetapi itu tidak menyelesaikan masalah saya kali ini.
Jadi saya melakukan di bawah ini untuk menyelesaikan masalah. Perluas tab Installed JREs dan Anda akan menemukan lingkungan Eksekusi tab .
Klik pada lingkungan eksekusi favorit Anda. Dalam kasus saya itu adalah JAVASE-1.8 . Di sana itu menunjukkan 2 opsi. JDK dan JRE . Pilih JDK di sana dan masalahnya selesai.
sumber
Saya hanya menghabiskan 3 jam dengan masalah ini sampai saya berhasil membuatnya bekerja. Saya memiliki kesalahan ini di Terminal Eclipse ketika mengeluarkan perintah kompilasi mvn:
Tidak ada kompiler yang disediakan di lingkungan ini. Mungkin Anda menjalankan JRE daripada JDK?
Jadi saya baca di sini bahwa saya harus membuat variabel sistem baru yang disebut JAVA_HOME dan membuatnya mengarah ke folder instalasi jdk. Namun ini menghasilkan kesalahan lain:
Opsi sumber 1.5 tidak lagi didukung. Gunakan 1,6 atau yang lebih baru
Tidak dapat menemukan perbaikan untuk yang ini jadi ...
Jadi perbaikan untuk menghilangkannya adalah menginstal Java SE Development Kit 8! Saya menggunakan 9 berpikir bahwa jika ini yang terbaru pasti lebih baik ...
Bagaimanapun...
Instal JDK8 dari sini: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Kemudian tentukan nilai lingkungan sistem JAVA_HOME - tutorial di sini: https://docs.oracle.com/cd/E19509-01/820-3208/inst_cli_jdk_javahome_t/
Mulai ulang Eclipse dan nikmatilah! (setidaknya itulah yang saya lakukan)
Berharap ini menyelamatkan beberapa pengembara miskin dari beberapa masalah.
sumber
Dalam kasus saya, saya memiliki jalur variabel sistem memiliki lokasi "C: \ ProgramData \ Oracle \ Java \ javapath".
Dalam "C: \ ProgramData \ Oracle \ Java \ javapath" lokasi java, hanya javaw di sana. Jadi saya mendapatkan kesalahan yang sama.
Setelah saya menghapus semua file di folder "C: \ ProgramData \ Oracle \ Java \ javapath" kesalahan saya teratasi.
sumber
Saya mencoba sebagian besar jawaban tanpa hasil. Apa yang berhasil bagi saya adalah (setelah mengikuti https://stackoverflow.com/a/21279068/2408893 ):
sumber
Meskipun pertanyaannya adalah tentang kesalahan dengan
Eclipse
pengaturan tetapi berpikir jawaban untuk memperbaiki kesalahan ini denganIntelliJ
dan pengaturan Windows 10 juga dapat membantu di sini.1 . Pergi ke
File
->Settings
->Build, Execution, Deployment
->Build Tools
->Maven
->Importing
2 . Set
JDK
untukImporter
seperti yang ditunjukkan di bawah ini untukJAVA_HOME
Juga
JAVA_HOME
harus diatur keJDK
path di Variabel Lingkungan -> variabel Sistem dan juga menambahkan%JAVA_HOME%\bin
ke variabel Sistem Jalursumber
saya menghadapi masalah yang sama, kesalahan yang saya buat adalah saya menambahkan jre path hanya di path var, bukan jdk path. Ketika jdk path ditambahkan ke path dan membangun proyek maven yang berfungsi sempurna. Terima kasih semua
sumber
Saya melakukan perubahan berikut dan itu berhasil untuk saya. Semoga itu membantu seseorang.
sumber
Coba ini.
sumber
Tambahkan definisi JRE baru (pilih jalur JDK), berfungsi untuk saya.
http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-add_new_jre.htm
sumber
Saya mendapatkan kesalahan yang sama ketika saya membuat contoh ubuntu 16,04 EC2 baru dengan Java sudah diinstal di atasnya dan saat menjalankan paket mvn clean, saya mengalami masalah ini dan solusi di bawah ini bekerja untuk saya.
Jika Anda bekerja pada server Ubuntu, maka Anda dapat mencoba menginstal Java lagi dan untuk itu Anda dapat menggunakan jawaban ini Cara menginstal JDK di Ubuntu Linux
sumber
Di Windows 7 - 64 bit, ada masalah izin yang mencegah penginstal membongkar file C: \ Program Files \ Java \ jdk1.6.xx \ lib \ tools.jar ke lokal Anda. File jar ini adalah apa yang digunakan maven-compiler-plugin versi 3.x daripada javac biasa
Solusi: Jalankan, sebagai administrator, penginstal Java JDK! Dan pastikan tools.jar duduk di C: \ Program Files \ Java \ jdk1.6.xx \ lib \
Jika Anda menggunakan plugin integrasi m2e maven, Anda ingin melihat file terlihat oleh Eclipse melalui langkah-langkah berikut di dalam Eclipse:
Pergi ke Window -> Preferences -> Java -> JRE yang terinstal Pilih JDK yang Anda gunakan (C: \ Program Files \ Java \ jdk1.6.xx) Tekan Edit untuk melihat daftar toples termasuk jars tools.jar, ATAU Anda bisa tambahkan sebagai Add External JAR Kemudian konfigurasikan pakar berjalan melalui langkah-langkah ini:
Jalankan-> Jalankan konfigurasi-> Isi Nama, Direktori basis dan Tujuan. Kemudian di jendela yang sama pindah ke tab JRE dan arahkan ke JDK \ jdk1.6.xx \
sumber
Selain jawaban di atas, saya dapat mengatakan bahwa hanya mencoba menjalankan Maven dari terminal (di luar Eclipse). Dengan cara ini, jika dibangun dari luar tetapi tidak di Eclipse, Anda dapat memahami bahwa masalahnya harus di Eclipse.
sumber
Ada beberapa jawaban mengenai pertanyaan ini tetapi semuanya terkait dengan konfigurasi jalur yang benar dari JDK, tetapi dengan JRE saja kita dapat menyelesaikan masalah ini.
Kita hanya perlu menggunakan perakitan penyebaran untuk mengkonfigurasi jalur file perang paket dari Proyek Java EE dan kemudian menjalankan kembali instalasi maven.
Langkah-langkah untuk memanfaatkan perakitan penempatan:
Klik kanan pada proyek Jave EE -> klik Properties -> klik pada Deployment Assembly
Klik tombol Add -> Klik Archives from the File System -> Klik next -> Klik Add -> Buka direktori .m2 \ respository dan cari file perang yang dihasilkan -> Pilih file perang -> Klik tombol Buka -> Klik Terapkan -> OK
Klik kanan pada proyek -> Klik pada Maven Install di bawah Run As
Ini akan membangun proyek Anda dengan sukses, tanpa kesalahan kompiler.
Semoga ini bisa menyelesaikan masalah tanpa JDK.
sumber