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

Maven错误:无法找到或加载main class.usr.share.Maven.boot.plexus-classworlds-2.x.jar,maven,ubuntu,Maven,Ubuntu,我最近将我的Ubuntu从14.04升级到16.04,在运行任何mvn命令(版本3.3.9)时开始出现以下错误:错误:无法找到或加载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\u 64-linux:/usr/local/sbin:/usr/local

我最近将我的Ubuntu从14.04升级到16.04,在运行任何
mvn
命令(版本3.3.9)时开始出现以下错误:
错误:无法找到或加载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\u 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变量,这导致了不同的错误:
错误:无法找到或加载主类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时,我得到的是启动器错误,而不是plexus-classworlds-2.x。另外,我已经完全删除并重新安装了所有plexus库,但没有任何更改。

检查
/usr/share/maven/boot
是否有多个模式为
/usr/share/maven/boot/plexus classworlds-*.jar的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
这会弄乱bash脚本,并执行错误的java命令


我不得不删除jar,只留下符号链接。

检查
/usr/share/maven/boot
是否有多个模式为
/usr/share/maven/boot/plexus classworlds-*.jar的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
这会弄乱bash脚本,并执行错误的java命令


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

我假设您使用的是M2_HOME等,并且安装了较旧的Maven版本(3.2.X+)。最重要的是删除所有东西,如M2_HOME、M2等,只将maven发行版的bin文件夹添加到您的路径中(除了JAVA_HOME外,其他都可以)……不幸的是,这仍然会产生missing.usr.share.maven.boot.plexus-classworlds-2.x.jar错误。即使我手动执行/usr/share/maven/bin/mvn-v,我也会得到相同的结果。您是否删除了M2_HOME和M2等。只在路径中保留/usr/shared/maven/bin…是的,这正是我所做的,但我仍然收到相同的错误。我假设您使用M2_HOME等,并且安装了较旧的maven版本(3.2.X+)。最重要的是删除所有东西,如M2_HOME、M2等,只将maven发行版的bin文件夹添加到您的路径中(除了JAVA_HOME外,其他都可以)……不幸的是,这仍然会产生missing.usr.share.maven.boot.plexus-classworlds-2.x.jar错误。即使我手动执行/usr/share/maven/bin/mvn-v,我也会得到相同的结果。您是否删除了M2_HOME和M2等。只保留路径中的/usr/shared/maven/bin…是的,这正是我所做的,但我仍然收到相同的错误。这里有一个脚本、dockerfiles等的一行程序修复程序-它将后缀“.old”添加到任何有问题的文件中,并保持符号链接不变:
find${maven_HOME}/boot/-name plexus classworlds-*.jar-type f-exec mv{}{}.old\这里有一个针对脚本、DockerFile等的一行程序修复程序-它将后缀“.old”添加到任何有问题的文件中,并保持符号链接不变:
find${MAVEN_HOME}/boot/-name plexus classworlds-*.jar-type f-exec mv{}{}.old\