错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher 问题排查

1. mac 下面是用homebrew 安装maven,安装成功,设置完M2_HOME ,使用mvn -version进行检测

houenxundeMacBook-Pro:3.3.9 houenxun$ mvn -version
错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher

2. 网上看了一堆解决方案,不明所以,于是自己尝试解决,首先,先定位一下问题的脚本

houenxundeMacBook-Pro:3.3.9 houenxun$ which mvn
/usr/local/bin/mvn
houenxundeMacBook-Pro:3.3.9 houenxun$ ls -l /usr/local/bin/mvn
lrwxr-xr-x  1 houenxun  admin  29  4  7 15:52 /usr/local/bin/mvn -> ../Cellar/maven/3.3.9/bin/mvn

打开mvn文件

#!/bin/bash
JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home)}" exec "/usr/local/Cellar/maven/3.3.9/libexec/bin/mvn" "[email protected]"

可以看到真正调用的是

/usr/local/Cellar/maven/3.3.9/libexec/bin/mvn

打开该文件,文件比较长,定位到最后报错的地方

exec "$JAVACMD"   $MAVEN_OPTS   $MAVEN_DEBUG_OPTS   -classpath "${M2_HOME}"/boot/plexus-classworlds-*.jar   "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf"   "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}"   ${CLASSWORLDS_LAUNCHER} "[email protected]"

使用echo打印真正的语句

exec /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/bin/java -classpath /usr/local/Cellar/maven/3.3.9/boot/plexus-classworlds-*.jar -Dclassworlds.conf=/usr/local/Cellar/maven/3.3.9/bin/m2.conf -Dmaven.home=/usr/local/Cellar/maven/3.3.9 -Dmaven.multiModuleProjectDirectory=/usr/local/Cellar/maven/3.3.9/libexec/bin org.codehaus.plexus.classworlds.launcher.Launcher

3. 很奇怪,在/usr/local/Cellar/maven/3.3.9目录下boot和bin都是不存在的,而却存在/usr/local/Cellar/maven/3.3.9/libexec目录下

houenxundeMacBook-Pro:3.3.9 houenxun$ pwd
/usr/local/Cellar/maven/3.3.9
houenxundeMacBook-Pro:3.3.9 houenxun$ ls
INSTALL_RECEIPT.json	NOTICE			bin
LICENSE			README.txt		libexec
houenxundeMacBook-Pro:3.3.9 houenxun$
houenxundeMacBook-Pro:3.3.9 houenxun$ cd libexec/
houenxundeMacBook-Pro:libexec houenxun$ ls
bin	boot	conf	lib
houenxundeMacBook-Pro:libexec houenxun$

4. 尝试将他们拷贝出去,的确OK了

houenxundeMacBook-Pro:3.3.9 houenxun$ mvn -version
exec /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/bin/java -classpath /usr/local/Cellar/maven/3.3.9/boot/plexus-classworlds-2.5.2.jar -Dclassworlds.conf=/usr/local/Cellar/maven/3.3.9/bin/m2.conf -Dmaven.home=/usr/local/Cellar/maven/3.3.9 -Dmaven.multiModuleProjectDirectory=/usr/local/Cellar/maven/3.3.9 org.codehaus.plexus.classworlds.launcher.Launcher -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/Cellar/maven/3.3.9
Java version: 1.8.0_77, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.4", arch: "x86_64", family: "mac"

5. 问题似乎解决了,但不禁奇怪,难道homebrew安装maven有bug???

时间: 2025-01-02 07:27:57

错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher 问题排查的相关文章

安装maven 错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher

今天maven突然无法引入本地maven库的jar包,导致maven工程出错,然后就准备重装maven ,开始只是将环境变量删除,将之前的压缩包解压,再重新配置环境 变量,可是配置好后在dos窗口 输入 mvn -v 查看是否安装成功,一直报 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher,在网上搜 好多都是说环境变量的配置,感觉没什么用,试了一下果然没有软用,最后去maven官网,下载了最新的maven压缩包,解压后,配

maven 安装 出现 错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launche

在设置环境变量要把maven所在路径设置home M2_HOME是maven的家目录,如同JAVA_HOME.之后设置PATH变量,需要在M2_HOME后加上bin目录.例如: export M2_HOME=/opt/apache_maven/ export PATH=$PATH:$M2_HOME/bin

myeclipse错误: 找不到或无法加载主类

myeclipse中错误: 找不到或无法加载主类 test.test4. 所示的错误,表明需要在myeclipse中添加相应的jar包,但是原来的路径可能已经改变了, 你需要手动的修改或者删除,右击你的项目,选择Properties,然后选择Java Build Path, 看到带着叉的jar包,就说明这个包文件在指定路径下找不到这个文件.那么可以双击这它 ,找到库里面对应的jar包,如果这个包没使用,你也可以remove掉它

Java编译时报错“错误: 找不到或无法加载主类”的解决方法

一.问题描述 java在执行的时候,会遇到这样的报错,编译可以正常通过,只是执行java命令时会报错,例如: G:\1\JavaPrac\tankproject\src\tank1>javac TankGame1.java G:\1\JavaPrac\tankproject\src\tank1>java TankGame1错误: 找不到或无法加载主类 TankGame1 二.解决方法 主要是配置环境变量可能有问题,着重检查环境变量. 环境变量配置: 第一步: "变量名":J

错误 找不到或无法加载主类

新下了个jdk+ eclipse 由于用IDE写了几天程序并无问题,切换到窗口命令行模式的时候,就出现"错误 找不到或无法加载主类". 但是javac和java -version并无问题. 网上一大堆帖子说是jdk路径设置问题.又重复捣鼓了几次,问题还是没解决. 注意到一个问题:由于我测试所使用的程序是原来Eclipse里写的. 于是自己在文本下重新写了一个简单的测试程序,运行无错误. 问题出在程序最开始的行:package; 也就package这个包.注释IDE程序中的package

Mac 添加java 环境变量成功后,依然会报错 错误: 找不到或无法加载主类

Windows 批处理(bat)文件转换成 Mac 的批处理(sh)文件 1. bat转换成sh文件,注销掉echo ,title字段: 2.将bat文件中的';'分隔符替换成':' ; Mac 添加Java 环境变量 1.打开终端 输入 cd ~ niko:~ mmk$ open -e .bash_profile 打开.bash_profile文件进行编辑: 2.在.bash_profile中添加 JAVA_HOME=`/usr/libexec/java_home` export JAVA_H

eclipse 错误: 找不到或无法加载主类

eclipse 突然报 错误: 找不到或无法加载主类 查找网上资料,也查看了环境变量中的JAVA_HOME,PATH等,都按照正确的配置,而且配置前面都添加了,;,但是照样还是一样. 运行了旧的程序,都可以正常运行,但是新建的类都不能正常运行,都会报这个错误. 经过多方查找资料,发现勾上 project-->Build Automaticlly,就好了. 这个错误真是太害人了.

Eclipse出现"错误: 找不到或无法加载主类"的情况

在一个工程下创建一个源文件然后进行将从网上download的代码复制运行的时候出现了"错误: 找不到或无法加载主类 "错误: 找不到或无法加载主类 "的情况,整个项目使用maven构建的,然后试着运行相同package下的已经存在的源文件,发现可以运行,但是将该文件的目标文件(编译好的文件)删除之后再次运行同样出现这个问题,这应该说明当前package下的所有文件都出现问题了. 点开该工程的"Build Path"然后进行Configure发现这个pack

命令行中编译和运行JAVA程序出现“错误: 找不到或无法加载主类”

初学JAVA,今天在命令行界面中尝试编译和运行Hello.java (文件当前目录.....\src\chapter1) 1 package chapter1; 2 3 public class Hello { 4 public static void main(String[] args){ 5 if(args.length==0) 6 System.out.println("hello!"); 7 else{ 8 for(int i=0;i<args.length;i++)