Maven错误:无法找到或加载主类org.codehaus.plexus.classworlds.launcher.Launcher

man*_*ins 128 java windows maven

maven-3.0.4Windows 7上安装了最新版本:
安装细节如下:
安装路径:

C:\apache-maven-3.0.4  
Run Code Online (Sandbox Code Playgroud)

环境变量是:

M2_HOME C:\apache-maven-3.0.4\apache-maven\src  
JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04  
Run Code Online (Sandbox Code Playgroud)

添加的路径变量是:

%M2_HOME%\bin;%JAVA_HOME%\bin;
Run Code Online (Sandbox Code Playgroud)

在命令窗口中,它显示如下:

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  
Run Code Online (Sandbox Code Playgroud)

这是我的PC上安装的maven上唯一的版本,许多博客上提到的解决方案是指删除以前的M2_HOME环境变量无效.

我已阅读并尝试了博客中提供的所有解决方案,例如:

但仍然无法达到目的.在这件事中我可能会缺少什么?提前致谢.

Ian*_*Ian 133

我也遇到了这个问题,并发现了这篇文章.对于Maven3,将我的环境变量名称从M2_HOME更改为M3_HOME就可以了.我在使用JDK 1.7运行OSX 10.9的Mac上.希望这可以帮助.

注意:如果已经设置,请删除M2_HOME.例如:unset M2_HOME

  • 在mac上我也一样.**确保删除M2_HOME** (26认同)
  • 此解决方案有效,但不是出于您可能认为的原因.问题,如[评论](http://www.johnlabarge.com/post/33156663109/dreaded-maven-error-could-not-find-or-load-main#comment-1845046165)所述[评论]参考文章的(http://www.johnlabarge.com/post/33156663109/dreaded-maven-error-could-not-find-or-load-main#comment-1239195761)不是需要M3_HOME而是,而是M2_HOME定义不正确.似乎根本没有使用M3_HOME,所以基本上发生的是删除M2_HOME时使用的默认值. (5认同)
  • 这适用于Mac OS 10.10.5和brew安装的maven(3.3.3). (2认同)

Ale*_*ild 60

我有同样的问题,并能够通过仔细重做环境变量来解决这个问题:

  • M2_HOME
  • M2
  • JAVA_HOME

另外,我把它们全部制作系统变量,而不是像Maven说明那样的用户变量.当你

echo %Path%
Run Code Online (Sandbox Code Playgroud)

确保您可以看到完全展开%M2%和%JAVA_HOME%变量,即:

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]
Run Code Online (Sandbox Code Playgroud)

  • 如何使用`M2`环境变量?我只有'JAVA_HOME`和'M2_HOME`. (3认同)
  • 不适用于Windows 7 x64 maven 3.3.3 (2认同)

dir*_*cke 54

即使问题得到解答,我想补充一点,如果您收到上述错误,请确保已下载二进制文件.

如果您是高级用户并且知道如何处理源文件,则只应下载源文件.

我有相当多的人下载错误的文件,老年人和青少年


Jos*_*ust 48

虽然安装是由apt-get完成的,但是在两个不同的Ubuntu 12.04安装上存在此问题.问题是M2_HOME.

修正:

export M2_HOME=/usr/share/maven
Run Code Online (Sandbox Code Playgroud)

  • 它适用于我,但使用M2_HOME =/usr/share/maven2(以防其他人尝试).谢谢! (2认同)

小智 25

我相信这个错误是因为从Maven站点下载SRC而不是BINARY.请确保下载二进制邮编.

因为以下路径,只有在下载SRC时才能获得:

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

在此输入图像描述


小智 20

听起来您根据路径信息安装(提取)了源文件而不是二进制文件.尝试安装二进制文件,然后按照其他海报回答.


Ade*_*lin 13

好吧,我有这个问题,看到这篇文章,特别khmarbaise答案后,我注意到M2_HOME

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0\bin
Run Code Online (Sandbox Code Playgroud)

然后我把它扯到了

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0
Run Code Online (Sandbox Code Playgroud)

我想提一下,我使用的是Windows 7(x64)


JES*_*Sii 6

Maven更高版本的解决方案很简单.我在OS X ElCap,10.11.6并升级到Maven 3.3.9.我有同样的问题,错误" Could not find ...org.codehaus.plexus...".这里提供的链接在McKamey的评论中提供了解决方案 - 只需删除M2_HOME(unset M2_HOME).一旦我尝试了,这一切都按预期工作.

这可以通过访问Maven install page:"将创建的目录apache-maven-3.3.9的bin目录添加到PATH环境变量"来确认 - 根本没有提到M2_HOME或M3_HOME.


Sre*_*nth 5

对于大多数 Maven 设置问题,例如“找不到或无法加载主类...”,请从以下步骤开始,看看是否可以解决:

  • 确保您解压缩了正确的存档(二进制存档而不是源存档)
  • 删除所有与 Maven 相关的用户和系统变量(例如 M2_HOME、M2_OPTS 等)
  • 确保 JAVA_HOME 系统变量已设置(例如“C:\Program Files\Java\jdk1.8.0_172”)
  • 确保在“路径”系统变量中添加了 java bin 位置(例如“%JAVA_HOME%\bin”)
  • 确保在“路径”系统变量中添加了 maven bin 位置(例如“C:\MyInstalls\apache-maven-3.5.4\bin”)

然后...

  • 验证 java 已设置(在命令提示符处:java -version)
  • 验证 maven 已设置(在命令提示符处:mvn --version)


Gas*_*lén 5

打开一个新终端并执行以下操作

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
Run Code Online (Sandbox Code Playgroud)

然后输入

mvn -version
Run Code Online (Sandbox Code Playgroud)

您可以将其设置./bash_profile为每次运行终端时自动执行


khm*_*ise 4

您应该将 M2_HOME 的位置更改为以下位置:

set M2_HOME=C:\apache-maven-3.0.4\apache-maven
Run Code Online (Sandbox Code Playgroud)

此外,JDK 的安装看起来更像是 JRE,而不是 JDK。对于 Maven,您需要 JDK 而不是 JRE。