这个想法是照常运行“ mvn package”,在完成所有步骤之后,应调用Jar实用程序,将打包代码(jar或war文件)的文件路径作为参数传递。
该实用程序将从命令行中按以下方式调用:
java -jar Utility.jar -filepath {新jar / war文件的路径}
我想将最后一步集成到构建过程中。如何修改pom.xml文件以完成此操作?
最佳答案
看看maven exec plugin。您可以将其执行绑定到打包阶段(将在包装定义的内置绑定之后运行),以使用参数“ -jar Utility.jar -filepath $ {project.build.directory”运行Java(可执行文件) } / $ {project.artifactId}-$ {project.version}-$ {project.packaging}”
结果看起来像这样:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>run jar utility</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar</argument>
<argument>Utility.jar</argument>
<argument>-filepath</argument>
<argument>${project.build.directory}/${project.build.finalName}.${project.packaging}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
尽管此调用将特定于平台。您可以对此加以改进,并使用“ java”代替“ exec”(您需要在该Utility.jar中提供主类名称)
如果您描述了计划使用的实用程序,那么可能会有更多的跨平台方法(例如maven antrun plugin)