我正在将一个 java 项目迁移到 Maven 中,我们正在使用 Appassembler maven 插件(1.3 版)来生成 shell 启动脚本。我的问题是如何重定向标准输出和/或 java 程序的输出?这个 Appassembler 的 pom.xml 配置
<program>
<mainClass>com.mycompany.app.App</mainClass>
<commandLineArguments>
<commandLineArgument>arg1</commandLineArgument>
<commandLineArgument>arg2</commandLineArgument>
</commandLineArguments>
<name>app</name>
</program>
生成:
exec "$JAVACMD" $JAVA_OPTS \
$EXTRA_JVM_ARGUMENTS \
-classpath "$CLASSPATH" \
-Dapp.name="app" \
-Dapp.pid="$$" \
-Dapp.repo="$REPO" \
-Dbasedir="$BASEDIR" \
com.mycompany.app.App \
arg1 arg2 "$@"
参数占位符 ($@) 是启动脚本中最后生成的标记。