New Maven安装:mvn -version java.lang.ClassNotFoundException

时间:2011-11-15 15:51:52

标签: java maven

所以我安装了maven并提供了以下详细信息:

安装路径:

C:\Program Files\Apache Software Foundation\apache-maven-3.0.3

Env vars:

JAVA_HOME C:\Progra~1\Java\jdk1.6.0_25
M2_HOME C:\Program Files\Apache Software Foundation\apache-maven-3.0.3

用户变种:

M2 %M2_HOME%\bin
PATH %JAVA_HOME%\bin;%M2%;

现在,从命令行

C:\>javac -version
javac 1.6.0_25

C:\>mvn -version
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/plexus/c
lassworlds/launcher/Launcher

Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.lau
ncher.Launcher
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClss(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.codehaus.plexus.classworlds.launcher.Launcher
.  Program will exit.

到目前为止,由于Eclipse,我已经完全不受Java的命令行构建细节的限制,但看起来它在/ boot目录中找到plexus-classworlds-2.4.jar时遇到了问题。我是否需要一些额外的路径信息?

谢谢!

8 个答案:

答案 0 :(得分:3)

我在PATH的其他部分使用mvn.bat作为maven2。因此,请仔细检查PATH变量的所有目录。

答案 1 :(得分:1)

我能够通过以下时间解决我的问题

export JAVA_HOME=/blah/blah
export M2_HOME=/usr/local/maven   
export M2=M2_HOME/bin

我能够弄清楚查看文件夹名称,它是3.2.1

也许,我没有看过文件,但这是我对这个问题的回答。

export JAVA_HOME=/blah/blah
export M3_HOME=/usr/local/maven   
export M3=M2_HOME/bin

我的java是7.希望这可以帮助一些人使用Maven 3而不是M2。

答案 2 :(得分:1)

即使我面临同样的问题,然后我改变回声关闭在mvn.bat回应并发现我的maven包没有正确安装和c:/maven/maven3.0.3下的启动文件夹丢失,我复制丢失的文件夹,它工作:)

答案 3 :(得分:1)

试试这个:

unset M2_HOME
source .bash_profile

的.bash_profile:

...
export M2_HOME=$(/Users/camel/apache-maven-2.2.1)
export PATH=$PATH:$M2_HOME/bin
...

当我在maven3之后使用maven2时,这项工作适用于我的Mac(os x ver 10.11)。

答案 4 :(得分:0)

C:\mvn.bat吗?

在Windows上,当前文件夹始终位于PATH

[编辑] 错误可能有多种原因:mvn.bat的版本不适合代码的其余部分,或者库已损坏。

要更进一步,请将@echo off中的行mvn.bat更改为@echo on,然后再次运行该脚本。然后它将在执行时打印每个命令。在输出中搜索%CLASSWORLDS_JAR%

确保%CLASSWORLDS_JAR%中提到的所有JAR都存在并且没问题。

答案 5 :(得分:0)

我通过删除所有JRE / JDK 然后重新安装所需的JDK并从文件夹路径中删除所有空格来解决此问题。

C:\dev\jdk
C:\dev\maven3.0.4
C:\dev\project\myProject
c:\dev\eclipse

答案 6 :(得分:0)

您可能需要设置MAVEN_HOME和M2_HOME。两者都有相同的路径。 确保必须设置好变量,然后重试。尝试安装java版本7.8之后,因为版本6可能不兼容。

NB :在路径中设置maven,例如在我的Mac上我有一个带有以下设置的.profile: export JAVA_HOME = $(Library / Java / JavaVirtualMachines / jdk1.8.0_101.jdk / Contents / Home) export PATH = / Users / alessandropioardizio / Desktop / SDK / apache - maven - 3.1.1 / bin:$ PATH

让我知道它是否有效。

答案 7 :(得分:0)

我通过将我的Maven从apache-maven-3.3.9升级到apache-maven-3.5.4解决了我的问题。 最后,将我的系统变量修改为apache-maven-3.5.4:添加两个M2_HOME

M2_HOME :: C:\ apache-maven-3.5.4

JAVA_HOME:C:\ Program Files \ Java \ jdk1.8.0_101