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

Java Maven错误:无法找到或加载主类org.codehaus.plexus.classworlds.launcher.launcher,java,windows,maven,Java,Windows,Maven,我已在Windows 7上安装了最新的maven-3.0.4: 安装详情如下: 安装路径: C:\apache-maven-3.0.4 环境变量包括: M2_HOME C:\apache-maven-3.0.4\apache-maven\src JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04 添加的路径变量包括: %M2_HOME%\bin;%JAVA_HOME%\bin; 在命令窗口中,它如下所示: C:\>java -vers

我已在Windows 7上安装了最新的
maven-3.0.4
: 安装详情如下:
安装路径:

C:\apache-maven-3.0.4  
环境变量包括:

M2_HOME C:\apache-maven-3.0.4\apache-maven\src  
JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04  
添加的路径变量包括:

%M2_HOME%\bin;%JAVA_HOME%\bin;
在命令窗口中,它如下所示:

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  
这是我的电脑上安装的maven上的唯一版本,许多博客上给出的关于删除以前的
M2\u HOME
环境变量的解决方案无效

我已经阅读并尝试了博客上给出的所有解决方案,例如:

  • ,
  • ,
  • ,
  • ,

但还是没能做到。在这整件事中我可能遗漏了什么?提前谢谢

您应该将M2_住宅的位置更改为以下位置:

set M2_HOME=C:\apache-maven-3.0.4\apache-maven

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

除了@khmarbaise所指出的,我认为你的JAVA_主页输入错误。如果安装在默认位置,那么jdk和1.7.0_04之间不应该有“-”(连字符)。是的

JAVA_HOME C:\Program Files\Java\jdk1.7.0_04 

我遇到了同样的问题,并且能够通过仔细重做环境变量来解决它:

  • M2_之家
  • 平方米
  • 爪哇之家酒店
而且,我让它们都系统变量,而不是像Maven指令所说的用户变量。当你

echo %Path%
确保可以看到%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]

在两个不同的Ubuntu 12.04安装上都有这个问题,尽管安装是由apt get完成的。问题是你的家

固定为:

export M2_HOME=/usr/share/maven

我也有同样的问题。我有一个Windows xp框,当我在命令行提示符下键入
mvn-version
时,我收到了可怕的错误消息

"Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher"
我确认我的
M2\u HOME
变量设置为在pc上安装Maven的路径,并且
echo%path%
确认Maven在我的路径中

当我偶然发现我的解决方案时,我已经寻找了几个小时的解决方案(我之所以说我的解决方案,是因为我知道这可能不是每个遇到相同错误的人的解决方案)

我复制了分配给我的
M2\u HOME
变量的路径。我打开一个cmd窗口,键入cd并粘贴从我的
M2_主页
变量获得的路径。在这一点上,我知道路径是正确的,因为路径显示在窗口中。在这一点上,我输入了dir命令,令我惊讶的是,我得到了找不到的错误文件

我通过资源管理器找到了那个路径,果然有文件存在。我注意到文件夹已淡出,但我可以访问它们并查看每个文件夹中的文件(我在电脑上拥有管理员权限)。我查看了Maven的父文件夹的属性,发现隐藏框被选中。我删除了检查并应用了dir命令,并再次尝试了dir命令

接下来,我再次尝试了
mvn–version
命令,但这次我得到了预期的结果

C:\>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600)
Maven home: C:\Program Files\apache-maven-3.0.3
Java version: 1.5.0_16, vendor: Sun Microsystems Inc.
Java home: C:\Java\jdk1.5.0_16\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"
最后,我创建了一个jar和war文件,我的web应用程序在本地Tomcat上成功运行


我希望这能对你们中的一些人有所帮助。

听起来像是您根据路径信息安装(提取)了源文件,而不是二进制文件。试着安装二进制文件,然后按照其他海报的答案进行操作。

好吧,我遇到了这个问题,在看到这篇文章,特别是khmarbaise的答案后,我注意到
M2_HOME

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0\bin
然后我把它改成了

D:\workspace\apache-maven-3.1.0-bin\apache-maven-3.1.0

我想提到的是,我使用的是Windows7(x64)

这是设置Maven时常见的问题。 您只需执行以下操作:-

  • M2\u HOME:-D:\apache-maven-2.0.11
  • M2:-D:\apache-maven-2.0.11\bin
  • 路径:-将其附加到;%M2%
  • M2_HOME&M2:-需要声明为系统变量,而不是用户/管理员变量

    Path:-这可以是系统变量或用户/管理员变量[Path]。最好是系统变量

    仔细设置这3个变量后,就可以验证Maven的安装,如下所示

    在CMD提示符下:-


    C:\Documents and Settings\ADMIN>mvn——版本


    输出:-


    ApacheMaven 2.0.11(r909250;2010-02-12 11:25:50+0530) Java版本:1.6.0_22 Java主页:C:\Program Files\Java\jdk1.6.0\U 22\jre 默认区域设置:en_US,平台编码:Cp1252 操作系统名称:“windows xp”版本:“5.1”拱门:“x86”系列:“windows”


    谢谢。

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

    只有当您是高级用户并且知道如何处理源文件时,才应下载源文件


    我有相当一部分人下载了错误的文件,高年级和低年级的人

    对于其他可能遇到这种情况的人,不要忘记检查~/.mavenrc的M2\u HOME或JAVA\u HOME设置。

    我也遇到了这个问题,找到了这篇文章。对于Maven3,将我的环境变量名从M2_HOME更改为M3_HOME就成功了。我在Mac上运行OSX10.9和JDK1.7。希望这有帮助


    注意:如果已经设置,请删除M2_HOME。例如:
    unset M2\u HOME

    我在mac OSX上遇到了类似的问题。经过一系列的反复尝试,我终于解决了这个问题

    我的
    ~/.bash\u配置文件
    如下所示

    export M2_HOME=/Users/xyz/maven-3.x/bin
    export PATH=$PATH:$M2_HOME
    
    当我尝试从终端
    回显M2_HOME
    时,它向我显示了正确的路径,但当我尝试启动任何maven命令,如
    mvn clean
    mvn install
    ,它总是给出相同的问题

    无法找到或加载主类org.codehaus.plexus.classworlds.launcher.launcher

    我通过改变我的
    M2\HOM解决了这个问题
    
    export M2_HOME=/Users/xyz/maven-3.x
    export PATH=$PATH:$M2_HOME/bin
    
    alternatives --config java
    
    There are 2 programs which provide 'java'.
    
      Selection    Command
    -----------------------------------------------
    *  1           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
     + 2           /usr/java/jdk1.7.0_67/bin/java
    
    + '[' -z '' ']'
    + '[' -f /etc/mavenrc ']'
    + '[' -f /home/picsa/.mavenrc ']'
    + cygwin=true
    + darwin=false
    
    + MAVEN_PROJECTBASEDIR='C:\peter\bin'
    + export MAVEN_PROJECTBASEDIR
    + MAVEN_CMD_LINE_ARGS=' '
    + export MAVEN_CMD_LINE_ARGS
    + exec '/cygdrive/c/Program Files/Java/jdk1.8.0_66/bin/java' -classpath 'C:\peter/boot/plexus-classworlds-*.jar' '-Dclassworlds.conf=C:\peter/bin/m2.conf' '-Dmaven.home=C:\peter' '-Dmaven.multiModuleProjectDirectory=C:\peter\bin' org.codehaus.plexus.classworlds.launcher.Launcher
    Fehler: Hauptklasse org.codehaus.plexus.classworlds.launcher.Launcher konnte nicht gefunden oder geladen werden
    
    $ ls -al /etc/alternatives/java
    lrwxrwxrwx 1 root root 43 Aug 24 04:54 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
    $ java --version
    openjdk 10.0.2 2018-07-17
    OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)
    OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)
    
    JAVA_HOME=/opt/jdk-11.0.1 mvn
    
    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
    
    mvn -version