我maven-3.0.4在Windows 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环境变量无效.
我已阅读并尝试了博客中提供的所有解决方案,例如:
但仍然无法达到目的.在这件事中我可能会缺少什么?提前致谢.
我知道这个问题已在几个问题中讨论过,但没有答案解决了我的具体问题.
我已经安装了Git bash和Maven,我正在尝试用Git bash执行Maven.它与上述错误一起中止.
我的系统环境:
Windows 7
Git 2.13.3
Maven 3.5.0
Run Code Online (Sandbox Code Playgroud)
所需的用户变量:
HOME=%HOMEPATH%
M3_HOME=%MAVEN_HOME%
MAVEN_HOME=path-with-no-blanks
Path=%MAVEN_HOME%\bin
Run Code Online (Sandbox Code Playgroud)
Maven在Windows命令提示符和Cygwin上运行正常.只有基于MINGW的Git bash失败.
我检查了下面的bash脚本mvn:C:\path\to\maven\bin
通过设置日志输出并检查MAVEN_HOME值何时丢失,我发现它被这些语句清除(偶数JAVA_HOME):
# For MinGW, ensure paths are in Unix format before anything is touched !!!HERE MAVEN_HOME value is getting lost!!!
if $mingw ; then
[ -n "$MAVEN_HOME" ] &&
MAVEN_HOME=`(cd "$MAVEN_HOME"; pwd)`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`(cd "$JAVA_HOME"; pwd)`
# TODO classpath?
fi
Run Code Online (Sandbox Code Playgroud)
在另一台Windows机器(不同版本的Maven和Git)上,相同的行有点不同:
M2_HOME="`(cd "$MAVEN_HOME"; pwd)`"
Run Code Online (Sandbox Code Playgroud)
代替:
MAVEN_HOME=`(cd "$MAVEN_HOME"; pwd)`
Run Code Online (Sandbox Code Playgroud)
首先,我认为这是由于引用字符的种类.但是工作的Windows机器甚至可以运行我失败的Windows机器上的新脚本.我也尝试安装旧的Git或更老的Maven - …