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

转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50538422

  • 《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

Maven Web工程运行异常:Maven.multiModuleProjectDirectory system propery is not set的问题_第1张图片

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

Maven Web工程运行异常:Maven.multiModuleProjectDirectory system propery is not set的问题_第2张图片

-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

如下:

Maven Web工程运行异常:Maven.multiModuleProjectDirectory system propery is not set的问题_第3张图片

注意:
-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
Maven Web工程运行异常:Maven.multiModuleProjectDirectory system propery is not set的问题_第4张图片

删除掉红框中多余的配置,以后通过这个窗口运行工程。

你可能感兴趣的:(maven,Web,异常,jetty)