我们有一个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离线标志一起使用,如果不存在,则不会下载。
答案 0 :(得分:0)
感谢@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"
这样,脚本的用户可以添加一个主类,后跟无限数量的应用程序参数。