我们有一个maven项目,其中我们使用几个linux bash脚本来为我们的java应用程序提供不同的入口。我们已经通过exec-maven-plugin解决了这个问题,所以脚本通常如下所示: mvn -e -o -q exec:exec -Dexec.executable="java“-Dexec.args="...”。由于某些原因,我们只能使用离线标志(-o)。
我的问题是:如何确保在编译阶段下载exec-maven-plugin?开发人员没有下载exec- maven -plugin是有风险的,因为exec-maven-plugin使用了maven离线标志,如果它不在那里,它将不会被下载。
发布于 2012-09-18 20:07:39
感谢@eis的评论,我设法解决了这个问题。pom现在看起来像这样:
<properties>
<additionalJavaArgs></additionalJavaArgs>
</properties>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<executable>java</executable>
<commandlineArgs>
-XX:+PrintCommandLineFlags -showversion -classpath %classpath ${additionalJavaArgs}
</commandlineArgs>
</configuration>
</plugin>
</plugins>
</build>bash脚本如下所示:
ADDITIONAL_JAVA_ARGS=$*
mvn -e -o -q exec:exec -DadditionalJavaArgs="$ADDITIONAL_JAVA_ARGS"这样,脚本的用户可以添加一个主类,后跟无限数量的应用程序参数。
https://stackoverflow.com/questions/12421545
复制相似问题