另一个指定maven --fail-at-end命令行选项的地方?

时间:2014-05-08 11:07:18

标签: maven pom.xml multi-module

我们有一个多模块Maven项目,并且(至少在默认情况下)我们希望使用--fail-at-end来构建它。必须始终在命令行上传递,或者这也可以在(根)pom.xml文件中以某种方式指定,或者可能在settings.xml文件中指定,或类似的东西?

1 个答案:

答案 0 :(得分:1)

这里有一个古老的答案: Is it possible to enable -fae/--fail-at-end by default?

然而,时代变了。您可以尝试的方法是修改Maven批处理文件或shell文件,以启用将在每次执行时运行的默认参数。

您可以在此处找到原始的Jira问题:http://jira.codehaus.org/browse/MNG-5342

在Windows上,您定义一个环境变量MAVEN_DEFAULT_ARGS,其中包括您始终要运行的开关,并修改bin文件夹中的Maven批处理文件:

...
%MAVEN_JAVA_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Dmaven.home=%M2_HOME%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS% %MAVEN_DEFAULT_ARGS%
...

在基于Unix的系统上,使用您始终要运行的命令向.bash_profile添加参数MAVEN_DEFAULT_ARGS,并修改bin文件夹中的mvn文件:

exec "$JAVACMD" \
$MAVEN_OPTS \
        -classpath "${M2_HOME}"/boot/plexus-classworlds-*.jar \
        "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \
        "-Dmaven.home=${M2_HOME}"  \
        ${CLASSWORLDS_LAUNCHER} "$@"  \
        $MAVEN_DEFAULT_ARGS