如果这最终成为一个愚蠢的问题,我深表歉意,我现在有点无法理解......
这与上一个问题相关
Upgrading exec-maven-plugin from 1.1.1 to 1.2 or 1.3.2
本质上,我有一个 Maven Java 应用程序,它正在从 Jenkins 的命令行(或用于测试的命令窗口)运行。它运行一些处理,在主服务器上需要一个小时左右(在较小的机器上需要 2 天!)。它已经与 exec-maven-plugin 1.1.1 一起运行。我最近更新了一些依赖项,奇怪的是它现在卡在处理结束时,而以前没有。我用谷歌搜索了一下,虽然我不完全明白为什么这似乎是一个已知问题。我尝试将 exec-maven-plugin 升级到 1.3.2,但失败了,这就是上面的问题。事实上,我认为我偏离了轨道,我认为我需要找到一种不同的方式来运行代码(?)。让我明白了问题的主旨......
我最常看到的答案(我在 Windows 环境中工作)和有人评论的答案是将 exec-maven-plugin 替换为 maven-antrun-plugin。奇怪的是,尽管我在互联网上找到的主要示例并没有真正展示除了运行 echo 命令之外如何做更多的事情。如果我理解正确,我需要运行 Ant exec 命令来运行主过程中的代码,并可能运行另一个脚本来在完成时停止主线程(实际上我对此不太清楚)。我只是无法理解我应该在脚本中做什么。我应该查看 Ant 文档来弄清楚如何构建 build.xml 文件(我假设不是,因为它是一个 Maven 应用程序,这似乎是一个倒退的步骤),或者我应该运行一些 dos 命令来执行一些任务或者一些内置的 ant 命令?
重申一下,我并不期望任何人为我编写脚本(!),但目前我只是不太明白我想在脚本中实现什么,我应该使用什么级别的命令放入其中或如何开始。如果有人能指出我正确的方向,或者通过在某处指出一些清晰的文档来向我展示,我将非常感激。
如果我还不清楚,我一直在使用
运行应用程序<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>com.org.dc.dcClient</mainClass>
</configuration>
</execution>
我认为解决我的问题(Maven 无法重新控制代码竞争)的方法是将其更改为类似
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>Using Ant Run</echo>
<exec [script]"/>
</tasks>
</configuration>
</execution>
</executions>
谢谢
最佳答案
如果您需要的只是执行一个 java 类,那么在您的 pom 中添加以下几行即可完成这项工作。
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase> <!-- a lifecycle phase --> </phase>
<configuration>
<target>
<java classname="test.Main">
<arg value="-h"/>
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
注意目标标签之间的部分。您需要处理类路径等的配置。
关于java - 用于将 exec-maven-plugin 替换为 maven-antrun-plugin 的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28009844/