我已经在Git Bash(64位)上使用Maven几个月了,突然它停止工作了,现在在任何maven命令上都会产生这个错误:
myuser@mypc MINGW64 ~ (master *)
$ mvn -v
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher
Run Code Online (Sandbox Code Playgroud)
我已经回顾了很多关于SO的问题,包括这一个:Maven错误:找不到或加载主类org.codehaus.plexus.classworlds.launcher.Launcher但是还没有解决我的问题.
我从2.12升级到最新的Git for Windows(2.14.2.windows.2),但问题仍然存在.
我的Maven安装位于C:\ apache-maven-3.5.0\bin,它位于我的PATH变量中:
myuser@mypc MINGW64 ~ (master *)
$ echo $PATH
...:/c/jdk1.7.0_79/bin:/c/apache-maven-3.5.0/bin:...
Run Code Online (Sandbox Code Playgroud)
我也正确设置了JAVA_HOME:
myuser@mypc MINGW64 ~ (master *)
$ echo $JAVA_HOME
C:\jdk1.7.0_79
Run Code Online (Sandbox Code Playgroud)
我已经尝试添加/删除MAVEN_HOME但是在Apache Maven启动脚本(C:\ apache-maven-3.5.0\bin\mvn)中似乎没有检测到:
myuser@mypc MINGW64 ~ (master *)
$ echo $MAVEN_HOME
c:\apache-maven-3.5.0
Run Code Online (Sandbox Code Playgroud)
如果我进入Apache Maven Startup Script并用C:\ apache-maven-3.5.0替换$ {MAVEN_HOME}的实例,那么它似乎找到了Launcher类并正确执行.
编辑是这样的:
CLASSWORLDS_JAR=`echo "${MAVEN_HOME}"/boot/plexus-classworlds-*.jar`
to
CLASSWORLDS_JAR=`echo /c/apache-maven-3.5.0/boot/plexus-classworlds-*.jar`
Run Code Online (Sandbox Code Playgroud)
然后生产:
myuser@mypc MINGW64 ~ (master *)
$ mvn -v
Apache …Run Code Online (Sandbox Code Playgroud)