您的位置:首页 > 运维架构

Maven Web工程运行异常:Maven.multiModuleProjectDirectory system propery is not set的问题

2016-01-18 18:27 736 查看
转载请注明来源:/article/9699090.html

《Java Web工程转换为基于Maven的Web工程》

《Maven Web工程运行异常:Maven.multiModuleProjectDirectory system propery is not set的问题》

《Maven运行异常:Exception in thread “main” java.lang.UnsupportedClassVersionError》

1. 背景

通过jetty插件部署Maven Web工程:

1、点击Rus As—>Maven Build…

2、在Goals中输入命令:jetty:run



3、点击run按钮,出现以下异常



-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.


4、大家还会发现一种情况,图1中的Name框中的参数BUGManager_maven (6),后面这个括弧中的数字一直在增加,还不能重复。



2. 排查

查看maven环境变量:

localhost:lib dddd$ cat /etc/profile
# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi

# Java Path, 2015/12/03
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home"
CLASS_PATH="$JAVA_HOME/lib"
PATH=".;$PATH:$JAVA_HOME/bin"

# Maven Path, 2015/12/03
MAVEN_HOME=/Users/dddd/Library/Maven/apache-maven-3.3.9
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin


环境变量没有问题,是需要在运行jetty时指定JVM参数,即在VM arguments中添加

-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME


如下:



注意:

-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME中的MAVEN_HOME参数,可以是M2_HOME或MAVEN_HOME,这个取决于你的maven配置根目录名。

3. 解决

添加VM参数-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME

Windows版的eclipse添加这个参数的步骤:

Window->Preference->Java->Installed JREs->Edit

在Default VM arguments中设置

-Dmaven.multiModuleProjectDirectory=$M2_HOME

MacPro Book版的eclipse添加这个参数的步骤:

我没有找到Mac版eclipse上述的路径,所以只是通过Rus As—>Maven Build..来设置这个参数。

针对[1. 背景]中的问题4,是由于操作过程一直是新建配置,而不是复用配置,因此需要点击Rus As—>Run Configurations



删除掉红框中多余的配置,以后通过这个窗口运行工程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: