Kesalahan Maven: Tidak dapat menemukan atau memuat kelas utama org.codehaus.plexus.classworlds.launcher.Launcher

138

Saya telah menginstal yang terbaru maven-3.0.4di Windows 7 :
Detail penginstalan adalah sebagai berikut:
Jalur Penginstalan:

C:\apache-maven-3.0.4  

Variabel Lingkungan adalah:

M2_HOME C:\apache-maven-3.0.4\apache-maven\src  
JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04  

Variabel jalur yang ditambahkan adalah:

%M2_HOME%\bin;%JAVA_HOME%\bin;

Di jendela perintah itu menunjukkannya seperti ini:

C:\>java -version  
java version "1.7.0_04"  
Java(TM) SE Runtime Environment (build 1.7.0_04-b22)  
Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing)  
C:\>mvn -version  
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher  

Ini adalah satu-satunya versi di maven yang diinstal di PC saya dan solusi yang diberikan di banyak blog yang merujuk pada penghapusan M2_HOMEvariabel lingkungan sebelumnya tidak valid.

Saya telah membaca dan mencoba semua solusi yang diberikan di blog seperti:

tapi masih belum bisa mendapatkannya. Apa yang mungkin saya lewatkan dalam semua ini? Terima kasih sebelumnya.

manofsins
sumber
4
Baru saja mengunduh biner zip dan rusak. Diganti dengan .tar.gzdan berhasil. Jadi, jika M2_HOMEdisetel dengan benar, coba periksa apakah yang Anda unduh sudah benar.
Pavel Horal
@PavelHoral sama terjadi pada saya
hoaphumanoid
Saya mendapatkan kesalahan ini hanya pada jenkins ini, melalui perintah seperti kompilasi mvn berfungsi dengan baik!
Nullpointer

Jawaban:

141

Saya mengalami masalah ini juga, dan menemukan artikel ini . Untuk Maven3, mengubah nama variabel lingkungan saya dari M2_HOME menjadi M3_HOME berhasil. Saya menggunakan Mac yang menjalankan OSX 10.9 dengan JDK 1.7. Semoga ini membantu.

Catatan: Hapus M2_HOME, jika sudah disetel. Misalnya:unset M2_HOME

Ian
sumber
26
Sama untuk saya di mac. Pastikan Anda menghapus M2_HOME
Luke
Bekerja dengan biner Maven 3.3.3, di Ubuntu. JAVA_HOME tidak disetel.
TFuto
2
Ini bekerja pada Mac OS 10.10.5 dengan brew diinstal maven (3.3.3).
Yeremia
@Luke Terima kasih! unset M2_HOME.
Jared Burrows
5
Solusi ini berfungsi, tetapi bukan karena alasan yang mungkin Anda pikirkan. Masalahnya, seperti yang ditunjukkan dalam beberapa dari komentar dari artikel yang direferensikan, bukankah itu M3_HOME diperlukan sebagai gantinya, melainkan bahwa M2_HOME tidak benar didefinisikan. Tampaknya M3_HOME sama sekali tidak digunakan, jadi pada dasarnya yang terjadi adalah default digunakan saat Anda menghapus M2_HOME.
Matt
66

Meskipun pertanyaan sudah terjawab, saya ingin menambahkannya, jika Anda mendapatkan kesalahan yang disebutkan di atas, pastikan Anda telah mengunduh file Biner .

File sumber hanya boleh diunduh jika Anda adalah pengguna mahir dan Anda tahu cara menanganinya.

Saya memiliki cukup banyak orang yang mengunduh file yang salah, senior dan junior

dirbacke
sumber
1
Saya benar-benar mengunduh sumbernya dengan sengaja , karena itulah cara tradisional untuk melakukan sesuatu, tetapi saya secara tidak sengaja mengikuti instruksi untuk instalasi biner. Hanya menyalin tar biner sebenarnya lebih mudah dalam jangka panjang.
MDMoore313
+1: Hal yang sama terjadi di sini - secara tidak sengaja mengklik tautan unduhan yang salah. Tidak berfungsi karena saya mendapatkan file zip yang benar!
Laura Ritchey
Ini sendirian memperbaiki masalah saya - terima kasih!
Liran H
Benar. Mengunduh file sumber dan mencoba memperbarui M3_HOME tetapi tidak berhasil. Binari bekerja dengan baik.
Rohit
1
Baru saja ini terjadi pada saya. Situs web tidak jelas mana yang akan digunakan.
frodo2975
60

Saya mengalami masalah yang sama dan dapat menyelesaikannya dengan mengulangi Variabel Lingkungan dengan hati-hati:

  • M2_HOME
  • M2
  • JAVA_HOME

Juga, saya membuat mereka semua Variabel Sistem , bukan Variabel Pengguna seperti yang dikatakan instruksi Maven. Saat kamu

echo %Path%

Pastikan Anda dapat melihat variabel% M2% dan% JAVA_HOME% benar-benar diperluas, yaitu:

C:\Users\afairchild>echo %Path%
C:\Program Files\Apache Software Foundation\apache-maven-3.0.4\bin;C:\Program Files\Java\jdk1.7.0_09\bin; [etc]
Alex Fairchild
sumber
M2_HOME adalah hal pertama yang harus diperiksa jika Anda meningkatkan versi. JAVA_HOME harus tetap tidak berubah.
Joe Leo
3
Bagaimana M2variabel lingkungan digunakan? Saya hanya punya JAVA_HOMEdan M2_HOME.
Kevin Meredith
1
@KevinMeredith: M2Variabel lingkungan terkadang digunakan untuk menunjukkan %M2_HOME\bin%jalur, yang kemudian ditambahkan ke %Path%variabel lingkungan. Ini diperlukan ketika file batch Maven mvn.battidak dapat ditemukan dalam %Path%entri standar yang ditentukan. Kasus penggunaan tipikal adalah direktori instalasi non-standar untuk Maven.
Moreaki
@ Alex Saya mendapatkan kesalahan ini hanya pada jenkins ini, melalui perintah seperti kompilasi mvn berfungsi dengan baik!
Nullpointer
51

Memiliki masalah ini pada dua pemasangan Ubuntu 12.04 yang berbeda, meskipun pemasangan dilakukan oleh apt-get. Masalahnya adalah M2_HOME.

Diperbaiki dengan:

export M2_HOME=/usr/share/maven
Joseph Lust
sumber
2
Ini berhasil untuk saya tetapi dengan M2_HOME = / usr / share / maven2 (jika ada orang lain yang mencobanya). Terima kasih!
jimkont
1
Pada Ubuntu, lebih baik membuat /etc/profile.d/maven.sh dengan perintah Anda menunjuk: export M2_HOME=/usr/share/maven. Seperti yang ditunjukkan @jimkont, terkadang maven2, atau maven3 (jika Anda menginstal maven3, tentu saja).
Rael Gugelmin Cunha
Berhasil. Terima kasih. Tapi bisakah kita menambahkannya ke file / etc / environtment?
karthik
37

Saya yakin kesalahan ini disebabkan karena mengunduh SRC, bukan BINARY dari situs Maven. Harap pastikan untuk mengunduh Binary zip.

Karena jalur di bawah ini, Anda hanya akan mendapatkan ketika Anda mengunduh SRC:

M2_HOME C: \ apache-maven-3.0.4 \ apache-maven \ src

masukkan deskripsi gambar di sini

saravp
sumber
Ini berhasil untuk saya. Ikuti panduan di sini: maven.apache.org/install.html dan setel variabel PATH sistem Anda dengan C: \ apache-maven-3.6.3 \ bin
ChrisE
21

Sepertinya Anda menginstal (mengekstrak) file sumber, bukan biner berdasarkan informasi jalur Anda. Coba instal binari sebagai gantinya dan ikuti jawaban poster lainnya.

jdmidtun
sumber
Terima kasih telah memperbaiki milikku juga. Namun, mengapa Anda juga tidak dapat menggunakan unduhan src, selama itu berisi file yang dapat dieksekusi dengan benar di direktori bin?
java123999
13

Nah, saya punya masalah ini dan setelah melihat posting ini dan khususnya jawaban khmarbaise saya perhatikan M2_HOMEitu

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0\bin

dan kemudian saya mengadu ke

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0

Saya ingin menyebutkan bahwa saya menggunakan windows 7 (x64)

Adelin
sumber
Saya mendapatkan kesalahan ini hanya pada jenkins ini, melalui perintah seperti kompilasi mvn berfungsi dengan baik!
Nullpointer
6

Solusi untuk versi Maven yang lebih baru sangatlah mudah. Saya menggunakan OS X ElCap, 10.11.6 dan ditingkatkan ke Maven 3.3.9. Saya memiliki masalah yang sama dengan kesalahan " Could not find ...org.codehaus.plexus...". Tautan yang disediakan di sini menawarkan solusi dalam komentar oleh McKamey - cukup hapus M2_HOME (unset M2_HOME ). Setelah saya mencobanya, semuanya bekerja seperti yang diharapkan.

Ini dapat dikonfirmasi dengan mengunjungi Maven install page: "Tambahkan direktori bin dari direktori yang dibuat apache-maven-3.3.9 ke variabel lingkungan PATH" - sama sekali tidak menyebutkan M2_HOME atau M3_HOME.

JESii
sumber
4

Anda harus mengubah lokasi M2_HOME menjadi berikut:

set M2_HOME=C:\apache-maven-3.0.4\apache-maven

Selain itu, penginstalan JDK terlihat lebih seperti JRE daripada JDK. Untuk Maven Anda membutuhkan JDK dan BUKAN JRE.

khmarbaise
sumber
Terima kasih, tetapi saya memiliki jdk dan jre. Anda dapat melihat bahwa saya telah memberikan JAVA_HOME sebagai C: \ Program Files \ Java \ jdk1.7.0_04. Dan jika saya memberikan jalur untuk M2_HOME yang telah Anda ceritakan, cmd bahkan tidak akan mengenali perintah 'mvn'.
manofsins
Anda mengubah M2_HOME seperti yang saya jelaskan itu akan menambahkan% M2_HOME% \ bin ke jalur Anda yang diperlukan untuk memanggil perintah mvn.
khmarbaise
4

Saya menemukan masalah serupa di mac OSX saya. Setelah serangkaian percobaan dan kesalahan, saya akhirnya menyelesaikannya.

~/.bash_profilePenampilan saya seperti ini

export M2_HOME=/Users/xyz/maven-3.x/bin
export PATH=$PATH:$M2_HOME

dan ketika saya mencoba echo M2_HOMEdari terminal, itu menunjukkan kepada saya jalur yang benar tetapi ketika saya mencoba untuk menjalankan perintah maven seperti mvn cleanatau mvn install, itu selalu memberikan masalah yang sama

Tidak dapat menemukan atau memuat kelas utama org.codehaus.plexus.classworlds.launcher.Launcher

Saya memecahkan masalah ini dengan mengubah saya M2_HOMEmenjadi ini

export M2_HOME=/Users/xyz/maven-3.x
export PATH=$PATH:$M2_HOME/bin

Dan voila! Ini mulai bekerja! Cukup dengan memindahkan posisi /bindari M2_HOME ke depanPATH

Saif Asif
sumber
3

Pastikan Anda telah mengunduh arsip zip Biner (apache-maven-3.5.0-bin.zip), bukan arsip zip Sumber. Kemudian tambahkan direktori bin dari direktori yang dibuat apache-maven-3.5.0 ke variabel lingkungan PATH.

Shaini Sinha
sumber
3

Untuk sebagian besar masalah penyiapan Maven seperti "Tidak dapat menemukan atau memuat kelas utama ...", mulailah dengan langkah-langkah di bawah ini untuk melihat apakah itu memperbaiki:

  • Pastikan Anda membuka zip arsip yang benar (arsip BINARY dan bukan arsip SOURCE)
  • Hapus semua variabel pengguna dan sistem yang terkait dengan Maven (mis. M2_HOME, M2_OPTS, dll.)
  • Pastikan variabel sistem JAVA_HOME sudah disiapkan (mis. "C: \ Program Files \ Java \ jdk1.8.0_172")
  • Pastikan lokasi java bin ditambahkan di variabel sistem "jalur" (mis. "% JAVA_HOME% \ bin")
  • Pastikan lokasi maven bin ditambahkan di variabel sistem "jalur" (mis. "C: \ MyInstalls \ apache-maven-3.5.4 \ bin")

kemudian...

  • Pastikan java sudah disiapkan (di commandprompt: java -version)
  • Verifikasi maven sudah disiapkan (di commandprompt: mvn --version)
Sreekanth
sumber
3

Buka terminal baru dan lakukan tindak lanjut

M2_HOME=/Users/macbook/apache-maven-3.6.1 //Set where maven is
M2=$M2_HOME/bin                          //Set home as bin
export PATH=$M2:$PATH                   //Place the new path

Lalu ketik

mvn -version

Anda dapat mengatur ini ./bash_profileuntuk melakukannya secara otomatis setiap kali Anda menjalankan terminal

Gastón Saillén
sumber
2

Saya memiliki masalah yang sama. Saya memiliki kotak Windows xp dan ketika saya mengetik mvn -versionpada prompt baris perintah, saya mendapat pesan kesalahan yang ditakuti

"Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher"

Saya mengonfirmasi bahwa M2_HOMEvariabel saya disetel ke jalur tempat Maven diinstal pada pc dan bahwaecho %path% bahwa Maven telah di jalur saya.

Saya telah mencari solusi selama berjam-jam ketika saya menemukan solusi saya (saya mengatakan solusi saya karena saya tahu ini mungkin tidak akan menjadi solusi untuk semua orang yang mendapatkan kesalahan yang sama).

Saya menyalin jalur yang ditetapkan ke M2_HOMEvariabel saya . Saya membuka jendela cmd dan mengetik cd dan menempelkan jalur yang saya dapatkan dari M2_HOMEvariabel saya . Pada saat itu saya tahu bahwa jalur tersebut benar karena jalur tersebut ditampilkan di jendela. Pada titik ini saya memasukkan perintah dir dan yang mengejutkan saya, saya mendapat kesalahan File Not Found.

Saya pergi ke jalur itu melalui Explorer dan cukup yakin ada file yang ada. Saya perhatikan bahwa foldernya memudar, tetapi saya dapat mengaksesnya dan melihat file di dalam setiap folder (saya memiliki hak admin di pc saya). Saya melihat properti folder induk untuk Maven dan melihat bahwa kotak Tersembunyi telah dicentang. Saya menghapus cek dan menerapkan dan mencoba perintah dir saya lagi dengan sukses.

Selanjutnya saya mencoba mvn –versionperintah itu lagi, tetapi kali ini saya mendapatkan kembali hasil yang diharapkan.

C:\>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600)
Maven home: C:\Program Files\apache-maven-3.0.3
Java version: 1.5.0_16, vendor: Sun Microsystems Inc.
Java home: C:\Java\jdk1.5.0_16\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"

Akhirnya saya membuat file jar dan perang dan aplikasi web saya berjalan dengan sukses di Tomcat lokal saya.

Saya harap ini membantu beberapa dari Anda di luar sana.

Lou
sumber
2

menginstal versi biner maven memperbaiki masalah

apache-maven-3.6.1-bin.zip

Bharath Kumar
sumber
1

Selain apa yang telah ditunjukkan @khmarbaise, saya pikir Anda salah mengetik JAVA_HOME Anda. Jika Anda telah menginstal di lokasi default, maka seharusnya tidak ada "-" (tanda hubung) antara jdk dan 1.7.0_04. Jadi itu akan terjadi

JAVA_HOME C:\Program Files\Java\jdk1.7.0_04 
Raghuram
sumber
Terima kasih tapi sayangnya saya salah mengetik di sini saja dan itu sama seperti yang Anda katakan, 'tanpa tanda hubung'.
manofsins
1

Untuk orang lain yang mungkin mengalami ini, jangan lupa untuk memeriksa ~ / .mavenrc untuk pengaturan M2_HOME atau JAVA_HOME.

JBCP
sumber
1

Coba unduh binary zip (misalnya Maven 3.0.5 (Binary zip)) alih-alih sumber lengkap di situs resmi maven. Pastikan juga bahwa baris perintah mengenali perintah java dan javac. Saya perhatikan bahwa zip Sumber Maven tidak menyertakan pustaka apa pun di folder lib tetapi Binary zip memilikinya + di folder boot yang dimilikinya plexus-classworlds-2.4.jar. Mungkin masalahnya adalah tidak adanya perpustakaan ini. Pokoknya itu membantu saya jadi M2_HOME saya adalah: C: \ Program Files \ Java \ apache-maven-3.0.5 dan di PATH saya meletakkan: C: \ Program Files \ Java \ apache-maven-3.0.5 \ bin.

Shendor
sumber
1

Saya menemukan masalah ini di centOS saya disebabkan oleh "Oracle Java diganti oleh gcj", setelah mengubah java default menjadi "Oracle Java", masalah tersebut teratasi.

alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
 + 2           /usr/java/jdk1.7.0_67/bin/java
wu liang
sumber
1

Sepertinya Anda telah menginstal file Sumber (Karena srchanya datang dalam File Sumber dan kami tidak membutuhkannya). Coba instal File Biner dari sana . Dan kemudian atur variabel lingkungan seperti yang dijelaskan di sana . Ini berhasil untuk saya. Dan saya yakin ini juga akan berhasil untuk Anda.

Hammad Hassan
sumber
1

Saya pikir Anda mengunduh versi yang salah. Saya menemui masalah ini sekarang, tidak ada metode yang berfungsi setelah mencari dan mencari. Akhirnya saya menemukan bahwa maven yang saya download adalah Source zip archive . Setelah saya mengubah ke arsip zip Biner , semuanya baik-baik saja.

Mithril
sumber
Saya baru saja akan memposting ini. Persis seperti inilah masalah yang saya hadapi. Andai saja saya telah membaca jawaban Anda sebelumnya maka saya akan menghemat 30 menit.
Bartho Bernsmann
1

Saya juga menghadapi masalah serupa. Tetapi dalam kasus saya, saya menggunakan folder apache-maven-3.3.3-src di variabel jalur. Kemudian saya mengoreksi mereka dengan jalur yang benar dari folder apache-maven-3.3.3-bin. Ini menyelesaikan masalah. Saya tidak mengatakan bahwa kesalahan yang sama dilaporkan di sini tetapi dengan cara ini Anda juga bisa mendapatkan kesalahan ini dan memperbaikinya. Itulah yang ingin saya katakan di sini.

vinoth kumar
sumber
0

Kesalahan yang sama mungkin muncul bahkan dengan pengaturan variabel lingkungan yang benar, jika Anda menyalin bindirektori HANYA ke direktori instalasi. Itu membuat whichpekerjaannya lancar, dan para pemula terjebak.

dytori
sumber
0

Saya mengalami masalah ini ketika saya menggunakan Maven 3.5.4 pada OpenJDK 11 di Ubuntu. OpenJDK 11 di Ubuntu sebenarnya masih JDK10:

$ ls -al /etc/alternatives/java
lrwxrwxrwx 1 root root 43 Aug 24 04:54 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
$ java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)

Saya menginstal OpenJDK dari Oracle ke /opt/jdk-11.0.1 dan menjalankan Maven seperti ini:

JAVA_HOME=/opt/jdk-11.0.1 mvn

Sekarang bekerja seperti pesona.

Christian Hujer
sumber
0

Saya punya masalah dengan plugin yang pasti itu sendiri. Kembali ke versi 2.6 berhasil untuk saya. Versi 2.18 / 20 / 22.1 memberi saya kesalahan. Sekarang saya mencoba versi 3.0.0-M1 dari plugin yang pasti dan berhasil.

Jadi ada sesuatu yang salah pasti plgin antara versi 2.6 dan 3.0.0. Saya berasumsi ada sesuatu yang di-hardcode sebagai default yang seharusnya tidak.

Coolius
sumber
0

Bagi saya, lucu kedengarannya, itu membantu memulai ulang eclipse...

suara anggota
sumber
0

Ini berhasil untuk saya:

  1. Hapus semua referensi Mavin di Variabel Lingkungan
  2. Unduh Biner dari mavin
  3. Buka zip ke tempat yang Anda inginkan misalnya: C: \ apache-maven-3.6.0
  4. Buka variabel Lingkungan dan tambahkan ke jalur variabel Sistem "C: \ apache-maven-3.6.0 \ bin"
  5. mulai command prompt sebagai Administrator
  6. periksa versi dengan: mvn -v

Hasil CMD:

Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20: 41: 47 + 02: 00) Maven beranda: C: \ apache-maven-3.6.0 \ bin ..

Aberaitius
sumber
0

Saya juga menghadapi Kesalahan berikut di sistem saya (Mac)

Kesalahan: Tidak dapat menemukan atau memuat kelas utama org.codehaus.plexus.classworlds.launcher.Launcher

Setelah melakukan beberapa penjelajahan acak, saya menemukan tautan " http://maven.apache.org/install.html " yang mengatakan "JAVA_HOME" harus disetel ke "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/ Isi / Beranda / jre ".

Ketika saya mengubah "JAVA_HOME" seperti yang disebutkan di atas dalam ".bash_profile", perintah "mvn" mulai bekerja tetapi perintah "javac -version" berhenti bekerja.

Ketika saya mengetik perintah "javac -version", saya mendapatkan error berikut

Tidak dapat menemukan file yang dapat dieksekusi di "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/javac" (-1)

Karenanya saya mengembalikan "JAVA_HOME" saya ke "/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home" di ".bash_profile" dan menambahkan baris berikut di bagian atas dalam skrip "mvn"

ekspor JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Contents / Home / jre

Sekarang kedua perintah "mvn" dan "javac" bekerja dengan baik, tetapi setelah mengamati skrip mvn dengan cermat, saya tidak dapat membuat perbedaan antara perintah berikut

/ Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Contents / Home / bin / java -classpath /Users/venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6.0. jar -Dclassworlds.conf = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin / m2.conf -Dmaven.home = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 - Dlibrary.jansi.path = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / lib / jansi-native -Dmaven.multiModuleProjectDirectory = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin org.codehaus.plexus.classworlds.launcher.Launcher

/ Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / Contents / Home / jre / bin / java -classpath /Users/venkatarajeevmandava/Documents/Maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6. 0.jar -Dclassworlds.conf = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / bin / m2.conf -Dmaven.home = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6. 1 -Dlibrary.jansi.path = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1 / lib / jansi-native -Dmaven.multiModuleProjectDirectory = / Users / venkatarajeevmandava / Documents / Maven / apache-maven-3.6. 1 / bin org.codehaus.plexus.classworlds.launcher.Launcher

Di atas perintah pertama menyebabkan kesalahan berikut

Kesalahan: Tidak dapat menemukan atau memuat kelas utama org.codehaus.plexus.classworlds.launcher.Launcher

sedangkan perintah kedua berfungsi dengan baik. Harap Perhatikan bahwa kedua jalur di atas memiliki perintah "java" sedangkan yang satu dari "jre" yang lainnya dari "jdk"

Variabel global lainnya adalah sebagai berikut di ".bash_profile"

ekspor M2_HOME = / Pengguna / venkatarajeevmandava / Documents / Maven / apache-maven-3.6.1

ekspor PATH = $ PATH: $ M2_HOME / bin

Venkata Rajeev Mandava
sumber
-1

Ini adalah masalah umum saat menyiapkan Maven. Yang perlu Anda lakukan adalah di bawah ini: -

  1. M2_HOME: - D: \ apache-maven-2.0.11
  2. M2: - D: \ apache-maven-2.0.11 \ bin
  3. Path: - Tambahkan dengan;% M2%

M2_HOME & M2: - perlu dideklarasikan sebagai variabel Sistem dan bukan sebagai Variabel PENGGUNA / ADMIN.

Jalur: - Ini bisa berupa Variabel Sistem ATAU variabel PENGGUNA / ADMIN [PATH]. Variabel Sistem lebih disukai.

Setelah Anda melakukan setting 3 variabel ini dengan hati-hati, Anda dapat memverifikasi instalasi Maven seperti di bawah ini.

Pada CMD Prompt: -


C: \ Documents and Settings \ ADMIN> mvn --version


Keluaran: -


Apache Maven 2.0.11 (r909250; 2010-02-12 11: 25: 50 + 0530) Versi Java: 1.6.0_22 Java home: C: \ Program Files \ Java \ jdk1.6.0_22 \ jre Lokal default: en_US, platform encoding: Cp1252 Nama OS: "windows xp" versi: "5.1" arch: "x86" Keluarga: "windows"

Terima kasih.

HMB
sumber
-1

Di samping jawaban yang mungkin berguna, tapi mungkin terlalu simptomatis, berikut adalah salah satu yang mencoba membantu menemukan penyebab masalahnya.

Maven adalah alat java baris perintah. Artinya, ini bukan biner mandiri, ini adalah kumpulan java .jar, diartikan oleh jvm ( java.exedi windows, javadi linux).

The mvnperintah, adalah naskah. Di windows, ini adalah skrip yang disebut mvn.cmddan di linux, ini adalah skrip shell. Jadi, jika Anda menulis:, mvn installapa yang akan terjadi:

  1. juru bahasa perintah ( /bin/shatau cmd.exe) dipanggil untuk skrip pemohon yang sebenarnya
  2. skrip ini menetapkan variabel lingkungan yang dibutuhkan
  3. dan terakhir, ia memanggil juru bahasa java dengan jalur kelas yang diperlukan yang berisi fungsionalitas maven.

Masalahnya adalah dengan (2). Untungnya, skrip ini sederhana, sangat sederhana. Bagi seorang programmer java, seharusnya tidak menjadi masalah besar untuk men-debug skrip sekitar 20 baris, meskipun itu adalah bahasa yang sedikit asing.

Di linux, Anda dapat men-debug shellscripts yang memberikan -xflag ke penafsir shell Anda (yang kemungkinan besar bash). Di windows, Anda harus menemukan cara lain untuk men-debug cmd.exeskrip. Jadi, alih-alih mvn install, berikan perintah bash -x mvn install.

Hasilnya seperti:

+ '[' -z '' ']'
+ '[' -f /etc/mavenrc ']'
+ '[' -f /home/picsa/.mavenrc ']'
+ cygwin=true
+ darwin=false

... tidak banyak hal ...

+ MAVEN_PROJECTBASEDIR='C:\peter\bin'
+ export MAVEN_PROJECTBASEDIR
+ MAVEN_CMD_LINE_ARGS=' '
+ export MAVEN_CMD_LINE_ARGS
+ exec '/cygdrive/c/Program Files/Java/jdk1.8.0_66/bin/java' -classpath 'C:\peter/boot/plexus-classworlds-*.jar' '-Dclassworlds.conf=C:\peter/bin/m2.conf' '-Dmaven.home=C:\peter' '-Dmaven.multiModuleProjectDirectory=C:\peter\bin' org.codehaus.plexus.classworlds.launcher.Launcher
Fehler: Hauptklasse org.codehaus.plexus.classworlds.launcher.Launcher konnte nicht gefunden oder geladen werden

Pada akhirnya, Anda dapat dengan mudah menguji, variabel lingkungan mana yang rusak, dan Anda dapat dengan mudah memperbaiki skrip Anda (atau menyetelnya sesuai kebutuhan).

peterh - Kembalikan Monica
sumber