我使用maven-antrun-plugin作为我项目的初始化配置文件。但我只需要初始化一次配置文件,当我第一次开始初始化我的开发环境时,而不是每次启动jetty:run时。
例如,如果我将阶段附加到流程资源,则每次启动jetty时,我的配置文件都会被重置。
所以我像这样配置了antrun:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target name="init_config_files">
<!-- init files -->
</target>
</configuration>
</execution>
</executions>
</plugin>如果我启动mvn antrun:run,它只会返回这个错误:"INFO No ant target defined - SKIPPED“。如果我指定target:"mvn antrun:run -Dtarget=init_config_files“,也是一样的。
发布于 2012-06-13 15:14:43
试试这个:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<target>
<property name="compile_classpath" refid="maven.compile.classpath" />
<echo message="compile classpath: ${compile_classpath}" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>然后运行以下命令:
mvn antrun:run发布于 2016-02-19 04:01:52
到目前为止我找到的最佳解决方案:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>go-live</id>
<configuration>
<target>
<!-- go live! -->
<exec executable="${basedir}/deploy2server.sh" failonerror="true" dir="${basedir}">
<arg value="deploy" />
<arg value="${deploy.to.server}" />
<arg value="${jetty.port.live}" />
</exec>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>然后运行以下命令:
mvn antrun:run@go-live这个解决方案避免了目标被意外运行,即。它不能仅仅通过输入"mvn antrun: run“来运行,它也不能在常规的maven运行期间运行。在我的jenkins实例中,在所有模块(包括针对最终分发包所做的集成)都已成功执行之后,我将使用它来进行qa自动部署。
发布于 2013-11-13 22:56:09
我刚刚遇到了同样的问题,并最终解决了这个问题:如果你只想运行一次ant任务,你可以这样设置插件:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<configuration>
<target name="init_config_files">
<!-- init files -->
</target>
</configuration>
</plugin>并使用mvn antrun:run来执行它。这样,蚂蚁的东西就不会绑定到任何阶段。
https://stackoverflow.com/questions/10551726
复制相似问题