0

我们有一个 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 脱机标志一起使用,如果它不存在,它将不会被下载。

4

1 回答 1

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"

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

于 2012-09-18T12:07:39.227 回答