所以我安装了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时遇到了问题。我是否需要一些额外的路径信息?
谢谢!
答案 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