在 pom.xml 中有一个用法,maven-dependency-plugin
用于将特定的外部 JAR 文件下载到单独的位置(在 /tmp/externalTestJars/testjar.jar 中)。
我想用exec-maven-plugin
在testjar.jar文件(Main.java)中运行一个java类。
我发现这个 SO question提出了同样的问题,但该问题的答案对我没有帮助。
如果我直接运行 Main.java 文件(在创建 .jar 的原始项目中,使用mvn exec:java
),我可以使用下面的 pom 配置。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<mainClass>org.example.Main</mainClass>
<!-- need to pass two arguments to the Main.java file main method -->
<arguments>
<argument>arg one</argument>
<argument>arg two</argument>
</arguments>
</configuration>
</plugin>
在上面的 SO 问题中,它有一个类似下面的答案,可以在 .jar 文件中运行 java 文件。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<mainClass>org.example.Main</mainClass>
<arguments>
<argument>-jar</argument>
<argument>/tmp/externalTestJars/testjar.jar</argument>
</arguments>
</configuration>
</plugin>
但在我的情况下,这些参数将被视为传递给 Main.java 中的主要方法的参数,因为它需要两个参数。所以这种方法对我不起作用。
这可以使用 exec maven 插件来完成,还是有任何其他方法可以做到这一点。