Java 用于用maven antrun插件替换exec maven插件的脚本
如果这是一个愚蠢的问题,我深表歉意我现在有点不知所措 这与前面的一个问题有关 本质上,我有一个maven java应用程序,它是从Jenkins中的命令行(或要测试的命令窗口)运行的。它在主服务器上运行一些处理,大约需要一个小时(在较小的机器上运行两天!)。它一直使用ExecMaven插件1.1.1运行。我最近更新了一些依赖项,奇怪的是,它现在在处理结束时挂起了以前没有挂起的地方。我在谷歌上搜索了一下,虽然我不完全明白为什么这似乎是一个已知的问题。我试图将execmaven插件升级到1.3.2,但失败了,这正是上述问题的症结所在。事实上,我认为我已经偏离了方向,我认为我需要找到一种不同的方式来运行代码(?)。让我来谈谈问题的主旨 我经常看到的答案(我在Windows环境中工作)和有人评论的答案是用maven antrun插件替换exec maven插件。奇怪的是,尽管我在互联网上找到的主要示例并没有真正说明如何执行比运行echo命令更多的操作。如果我理解正确,我需要运行antexec命令从主进程运行代码,并可能运行另一个脚本在完成时停止主线程(实际上我对此更不清楚)。我就是搞不懂我应该在剧本里做什么。我应该看看Ant文档来确定如何构建build.xml文件(我假设不是,因为它是一个maven应用程序,这似乎是一个倒退),还是应该运行一些dos命令来执行一些任务或一些内置Ant命令 只是重复一下,我不希望有人为我写脚本(!),但目前我真的不明白我要在脚本中实现什么,我应该在脚本中输入什么级别的命令,或者如何开始。如果有人能给我指出正确的方向,或者通过指向某个地方的清晰文档来向我展示,我将不胜感激 如果我不清楚,我一直在使用Java 用于用maven antrun插件替换exec maven插件的脚本,java,maven,Java,Maven,如果这是一个愚蠢的问题,我深表歉意我现在有点不知所措 这与前面的一个问题有关 本质上,我有一个maven java应用程序,它是从Jenkins中的命令行(或要测试的命令窗口)运行的。它在主服务器上运行一些处理,大约需要一个小时(在较小的机器上运行两天!)。它一直使用ExecMaven插件1.1.1运行。我最近更新了一些依赖项,奇怪的是,它现在在处理结束时挂起了以前没有挂起的地方。我在谷歌上搜索了一下,虽然我不完全明白为什么这似乎是一个已知的问题。我试图将execmaven插件升级到1.3.2
<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>
org.codehaus.mojo
execmaven插件
1.1.1
安装
JAVA
com.org.dc.dcClient
我认为解决我的问题(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>
org.apache.maven.plugins
maven antrun插件
1.1
安装
跑
使用Ant Run
如果您只需要执行一个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>
maven-antrun插件
1.8
跑
注意目标标记之间的部分。您需要处理类路径等的配置。非常感谢-在尝试了解-h表示什么时,找到了指向本应查看位置的链接。。。如果有人来问这个问题,就加上一句