我需要使用Maven
antrun插件将Hibernate字节码检测添加到我的Java类之一中,以便启用各个字段的延迟加载。但是,我无法让插件在构建周期内执行。
我如何指示Maven在编译后但在mvn package
构建期间打包之前执行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
文档看来,“ process-
classes”阶段似乎不是的构建周期的一部分package
。我可以使用单独运行该插件mvn antrun:run
,但是由于最后我需要mvn package
生成一个.war文件以进行部署,因此我可以肯定,此插件需要在package任务中的某个位置执行才能放置修改后的类放入打包的.war中。
我尝试了上述代码的许多变体(更改阶段,更改,更新插件的版本,更改ID等),但没有明显的变化。我已经运行mvn
与-e -X
可显示所有可能的输出,antrun插件从来不管我怎么努力执行。任何帮助将不胜感激。
显然,问题出在您的antrun
插件配置位于pluginManagement
部分而不是plugins
部分中。您可以在此处的答案中看到这两个部分之间的区别。
为了使其正常工作,您应该将其移至<build> -> <plugins>
pom.xml的部分。
问题内容: 我的maven java项目使用maven-antrun-plugin执行部署我的应用程序的deploy.xml ant脚本。deploy.xml使用该任务,这似乎是导致问题的原因。 [INFO]执行任务 [taskdef]无法从资源net / sf / antcontrib / antlib.xml加载定义。找不到。 部署: [INFO] ----------------------
我有一个maven(多模块)项目,为JBoss AS 7.1.x创建一些WAR和EAR文件。 出于一个目的,我需要将一个模块的一个生成的EAR文件部署到一个新的JBoss实例并运行它,对它调用一些REST web服务调用并停止JBoss。然后,我需要将这些调用的结果打包并写入数据库。 目前,我正在尝试使用CARGO和专家蚂蚁运行插件来执行此任务。 不幸的是,我不能让三个(maven、ant run
问题内容: 如何使用Maven打包一个可执行jar包? 问题答案: 然后用 编译目标应该在Assembly:single:single之前添加,否则不包括你自己项目中的代码。 在评论中查看更多详细信息。 通常,此目标与自动执行的构建阶段相关。这样可以确保在执行mvn install或执行部署/发布时构建JAR 。
执行周期性任务也是一样简单,您只需要编写一行代码: RecurringJob.AddOrUpdate(() => Console.Write("Easy!"), Cron.Daily); 此行在持久存储中创建一个新实体。 Hangfire Server中的一个特殊组件(请参阅 处理后台任务) 以分钟为间隔检查周期性任务,然后在队列中将其视作 fire-and-forget 任务。这样就可以照常跟踪
我有一个POM文件(由Eclipse执行),我想在阶段执行一个ANT任务。基于m2e文档,在如何解决Spring Data Maven Builds的“生命周期配置未涵盖的插件执行”中,Maven:在打包期间执行antrun任务,以及Maven编译器插件声明的位置:in 我从阅读中了解到,我要求告诉Maven以下内容:首先要求Maven的Eclipse插件(m2e)允许maven-antrun-p
本文向大家介绍spring boot打包成可执行jar包,包括了spring boot打包成可执行jar包的使用技巧和注意事项,需要的朋友参考一下 在使用spring boot进行打包的时候出现了一些问题,不是说找不到主类,就是说spring初始化时有些类没有加载。 下面介绍一下如何解决。 这样就能够打出jar包了。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。