确保在编译阶段下载exec-maven-plugin

时间:2012-09-14 09:18:59

标签: maven exec-maven-plugin

我们有一个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离线标志一起使用,如果不存在,则不会下载。

1 个答案:

答案 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"

这样,脚本的用户可以添加一个主类,后跟无限数量的应用程序参数。