java – Maven:在包期间执行antrun任务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Maven:在包期间执行antrun任务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2047字,纯文字阅读大概需要3分钟。
内容图文
我需要使用Maven antrun插件将Hibernate字节码检测添加到我的一个Java类中,以便启用单个字段的延迟加载.但是,我无法在构建周期中获取插件.
如何在编译之后但在mvn包构建期间打包之前,如何指示Maven执行antrun插件?
当前的pom.xml(片段):
<pluginManagement>
<plugins>
...
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<inherited>false</inherited>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<target>
<echo message="Running instrumentation task"/>
<taskdef name="instrument" classname="org.hibernate.tool.instrument.javassist.InstrumentTask">
<classpath>
<path refid="maven.dependency.classpath" />
<path refid="maven.plugin.classpath" />
</classpath>
</taskdef>
<instrument verbose="true">
<fileset dir="target/classes">
<include name="**/UploadedFile.class" />
</fileset>
</instrument>
</target>
</configuration>
<phase>process-classes</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${javassist.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
</dependencies>
</plugin>
...
</plugins>
</pluginManagement>
我在这个问题上看到的所有文档都显示插件被配置为在“进程类”阶段运行.但是,从Maven docs开始,“进程类”阶段似乎不是包的构建周期的一部分.我可以使用mvn antrun:run自己运行插件,但是因为最后我需要做mvn包来生成一个.war文件进行部署,我相当肯定这个插件需要在包中的某个地方执行命令将修改后的类放入打包的.war中.
我已经尝试了上述代码的许多变体(更改阶段,更改,更新插件的版本,更改ID等),没有可感知的更改.我一直用-e -X运行mvn来显示所有可能的输出,并且无论我尝试什么,都不会执行antrun插件.任何帮助将不胜感激.
解决方法:
显然,问题在于你的antrun插件配置位于pluginManagement部分而不是插件部分.您可以在我的答案here中看到这两个部分之间的区别.
要使其工作,您应将其移至< build> – > <插件>你的pom.xml部分.
内容总结
以上是互联网集市为您收集整理的java – Maven:在包期间执行antrun任务全部内容,希望文章能够帮你解决java – Maven:在包期间执行antrun任务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。