Maven错误:无法找到或加载主类.usr.share.maven.boot.plexus-classworlds-2.x.jar

时间:2016-09-22 15:34:01

标签: maven ubuntu

我最近将我的Ubuntu从14.04升级到16.04,并在运行任何mvn命令(版本3.3.9)时开始出现以下错误:Error: Could not find or load main class .usr.share.maven.boot.plexus-classworlds-2.x.jar。我的环境变量声明如下:

$JAVA_HOME: /usr/lib/jvm/java-8-oracle $PATH: /usr/local/texlive/2015/bin/x86_64-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin $M2_HOME: /usr/share/maven $M2: /usr/share/maven/bin

在尝试查找解决方案时,我尝试按照各种线程上的建议删除M2和M2_HOME变量,从而导致出现不同的错误:Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher。我还尝试运行apt-get remove --purge maven并重新安装它以及下载.tar.gz存档,但在这两种情况下,没有任何改变。

查看/usr/share/maven/boot文件夹时,会有一串指向plexus-classworlds-2.x.jar -> /usr/share/java/plexus-classworlds2-2.5.2.jar的符号链接。我错过了一些依赖项吗?或者是否有--purge未删除的旧配置文件?

编辑:当我以root身份执行mvn时,我得到Launcher错误而不是plexus-classworlds-2.x.此外,我已经完全删除并重新安装了所有丛库,但没有任何变化。

1 个答案:

答案 0 :(得分:4)

检查/usr/share/maven/boot是否有多个图案为/usr/share/maven/boot/plexus-classworlds-*.jar的广告柜。

我是这样的:

drwxr-xr-x 2 root root  4096 Dec  23 14:21 ./
drwxr-xr-x 6 root root  4096 Nov  14  2015 ../
-rw-r--r-- 1 root root 52684 Dec  12  2015 plexus-classworlds-2.5.2.jar
lrwxrwxrwx 1 root root    34 Dec  10  2015 plexus-classworlds-2.x.jar -> ../../java/plexus-classworlds2.jar

这会弄乱/usr/share/maven/bin/mvn bash脚本并执行错误的java命令。

我不得不移除jar并只留下符号链接。