Maven:打包时执行antrun任务

2023-12-11

我需要使用 Maven antrun 插件将 Hibernate 字节码检测添加到我的 Java 类之一,以便启用各个字段的延迟加载。但是,我无法让插件在构建周期中执行。

如何指示 Maven 在编译之后、打包之前执行 antrun 插件mvn package build?

当前的 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>

我看到的有关此问题的所有文档都显示该插件被配置为在“进程类”阶段运行。然而,从 Mavendocs,“流程类”阶段似乎不是构建周期的一部分package。我可以使用它自己运行该插件mvn antrun:run,但因为最终我需要做mvn package要生成用于部署的 .war 文件,我相当确定该插件需要在包任务中的某个位置执行,以便将修改后的类放入打包的 .war 中。

我尝试了上述代码的许多变体(更改阶段、更改 with 、更新插件版本、更改 id 等),但没有明显的更改。我一直在跑步mvn with -e -X显示所有可能的输出,并且无论我尝试什么,antrun 插件都不会执行。任何帮助将不胜感激。


显然,问题在于你的antrun插件配置位于pluginManagement部分而不是plugins部分。您可以在我的回答中看到这两个部分之间的区别here.

为了使其正常工作,您应该将其移至<build> -> <plugins>pom.xml 的部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven:打包时执行antrun任务 的相关文章

  • 在 Java 8 中将对象追加到列表并返回结果?

    有没有一种方法可以将对象附加到列表并以功能性非命令方式在一行中返回结果 如果原始列表也不应该被改变 你会怎么做 Java 8 是允许的 我已经知道如何将两个列表连接到一行中 Source https stackoverflow com a
  • 我该如何解决? KnapSack - 值完全相同,但每个对象都有三个权重

    我在解决我的练习时遇到问题 我读到了动态规划和算法 我认为我的练习是 特定背包问题 我用暴力法解决了它 但我无法用动态规划解决它 我有一艘重300吨的船 背包 有些晶体本身含有 3 种物质 X Y Z 每种物质都有重量 并且所有晶体都具有相
  • maven 3:访问​​“root”企业 POM 版本

    使用 Maven 3 0 4 我的任务是为我们的组织提供企业父级 POM 我的团队将为开发人员在使用此 POM 时遇到的疑问或问题提供支持 他们通常会将构建日志附加到支持票证中 因此 我希望我的公司 POM 将公司父级的版本回显到任何构建的
  • 术语“引用”的起源,如“通过引用传递”

    Java C 语言律师喜欢说他们的语言按值传递引用 这意味着 引用 是调用函数时复制的对象指针 同时 在 C 中 以及 Perl 和 PHP 中更动态的形式 引用是其他名称 或动态情况下的运行时值 的别名 我对这里的词源感兴趣 参考 一词的
  • 使用 google-api-java-client 的 2 足 OAuth

    有谁知道如何将 2 legged OAuth 与 google api java client 一起使用 我正在尝试访问 Google Apps 配置 API 以获取特定域的用户列表 以下不起作用 HttpTransport transpo
  • Maven 2 未运行 Junit 4 测试

    我在确保运行 Junit4 测试时遇到问题 同样的问题也被报告在https stackoverflow com questions 2021771 sort newest sort top https stackoverflow com q
  • 使用 Hibernate 和 Apache DBCP 的 MySQL 连接池问题

    看来我的应用程序有问题 当应用程序在启动后闲置很长时间 我不确定确切的时间 时 我会在日志中收到以下错误消息 我使用 Spring Hibernate MySQL 和 ApacheDBCP 进行连接池 ERROR org hibernate
  • 如何显示/隐藏jsf组件

    在我的一个 JSF 应用程序中 顶部的标题部分包含 selectOneMenu 底部的内容部分显示过滤器组件 默认情况下 应用程序首先在顶部显示 selectOneMenu 数据 在底部显示相应的 Filter 信息 如果用户选择不同的se
  • 处理 ANTLR 4 中的错误

    遵循后接受的答案 https stackoverflow com a 18137301 2279200的指示处理 ANTLR4 中的错误 https stackoverflow com q 18132078 2279200问题 我遇到了以下
  • a4j:commandLink 重新渲染后停止工作

    我创建了这个测试用例来隔离我的问题 一旦轮询执行 ajax 更新 a4j commandLink 操作就不会执行 如果我们在轮询重新渲染之前关闭 modalPanel 则会执行它 有什么建议吗 提前致谢 测试 xhtml
  • Java检测鼠标长按

    如果用户按下 JList 组件超过 3 秒 有什么方法可以捕获事件吗 我发现困难的部分是即使在用户松开鼠标左键之前也需要触发事件 这可以通过 mousePressed 和 mouseReleased 组合轻松完成 您可以在 mouseDow
  • 在 JavaFX 中更改 ListView 字体大小

    我想知道如何更改 JavaFx 中的列表视图项目文本字体大小 每行文本的大小会有所不同 我尝试使用细胞因子属性 但我不知道如何使用它 有人可以帮我吗 类似的问题在这里 如何更改JavaFX中ListView的字体大小 https stack
  • java.lang.ClassCastException: [B 无法转换为 java.lang.String

    我编写了一个带有字段 LoginId 和密码的实体类 我使用 AES ENCRYPT 加密密码并将其存储在数据库中 我只想检索已解密的密码 所以 我使用 AES DECRYPT 使用本机查询是在 OPen JPA 2 0 中 我写的查询是
  • 将 XML 从网站解析到 Android 设备

    我正在启动一个 Android 应用程序 它将解析来自网络的 XML 我创建了一些 Android 应用程序 但它们从未涉及解析 XML 我想知道是否有人对最佳方法有任何建议 这是一个例子 try URL url new URL your
  • 如何在不同的班级中启动和停止计时器?

    我想测量从传入 HTTP 请求开始到应用程序到达某个点的时间 这两个时间点都位于不同的类中 我将如何启动和停止这些不同类别的计时器 我没有看到使用 MeterRegistry 中的 命名 计时器的方法 我该怎么办呢 您可以使用 AOP 如下
  • 如何发现另一个应用程序的意图

    我正在尝试构建一个应用程序来接收来自 StumbleUpon 应用程序的共享 此时 我可以接收浏览器的 共享网址 但是当从 StumbleUpon 共享时 我的应用程序不会显示在列表中 我想我可能没有在清单中注册正确的意图 有什么方法可以找
  • 当通过 Map.put(K, V) 添加值时,是否必须通过 Map.get(K) 返回相同的实例?

    假设您有以下代码 Map
  • Java“非法访问操作”方法将被弃用? [复制]

    这个问题在这里已经有答案了 JDK 9 JVM 发出非法访问操作警告后 如果您使用一些非法访问 例如setAccessible 我的问题 Is setAccessible 以后会被封吗 此功能的官方参考 如果将被弃用 在哪里 我在任何地方都
  • Spring Boot中服务接口类的用途

    我的问题是关于接口类的使用 我对 Spring 还很陌生 所以如果这过于简单 请耐心等待 首先 当您可以在 BoxService 中声明 find all 时 这里拥有 IBoxService 接口有什么意义 其次 在控制器中如何使用IBo
  • Java 应用程序启动,ProcessBuilder 一段时间后被阻止

    我正在开发一个 Java 桌面应用程序 我们称之为控制台 包含 3 个按钮 其中两个启动 Win32 应用程序 第三个应该启动一个可执行的 jar ProcessBuilder pb new ProcessBuilder java jar

随机推荐

  • 从 sqlite3 检索图像并在 Kivy 图像小部件中显示 - ValueError

    要求 我正在尝试从数据库检索图像并将该图像设置为 kivy 图像小部件 此操作会引发 ValueError 不确定原因 欢迎任何意见 数据库 Sqlite3 表名称 用户 列 用户 ID 用户名 用户图像 def populate fiel
  • 如何禁用 DIV 元素及其内部的所有内容[重复]

    这个问题在这里已经有答案了 我需要使用 Javascript 禁用 DIV 及其所有内容 我可以发誓做一个简单的 div 以前为我工作过 但由于某种原因它不再工作了 我不明白为什么 在 IE10 中 文本 Click Me 不会变灰 并且单
  • C++11 可变参数模板和逗号分隔表达式的等效性

    在可变参数模板中 运算符将参数包扩展为一系列逗号分隔的参数 以最简单的形式 我的问题是 为什么为多个逗号分隔的参数调用 some function 有效 而使用 运算符调用它却不起作用 我正在谈论这段代码 template
  • 为什么 Google Play 商店请求的权限不在我的清单中?

    我认为这可能与 ManifestMerger 有关 My AndroidManifest xml权限
  • 如何在所有驱动器的所有目录中搜索 .txt 文件?

    我使用此代码搜索所有驱动器中的所有目录以搜索所有 txt 文件 public List
  • 防止使用浏览器url直接访问图像

    我有一个名为 的文件夹Images 该文件夹包含用户个人资料图片 现在 用户只需将图像 URL 复制到浏览器即可随时查看自己的图像 这样他还可以看到其他用户的个人资料照片 我想要实现的是 用户应该只能通过我网站上的 PHP 页面看到他的个人
  • 使用 git (dokku) 部署时出错 - 超时/管道损坏

    我在 digital ocean 上使用 dokku 一段时间了 没有任何问题 我现在在利用以下命令部署到 dokku 时遇到问题 git remote add dokku dokku some ip myapp git push dokk
  • 迭代构造函数链

    假设我有这样的事情 function A function B B prototype Object create A prototype function C C prototype Object create B prototype v
  • 如何在移动浏览器上使用 PHP 强制下载文件?

    我想编写一个 php 脚本来在移动浏览器上下载一些文件 扩展名 apk dcm pdf zip 等 我已经编写了一个 php 代码来下载这些文件 它在所有浏览器 不是移动浏览器 上运行良好 但我使用 HTC 手机尝试过 它试图打开文件而不是
  • TextView 动态填充并截断最后一行文本

    我不确定它只是 最后一行 但我们有一个应用程序 它有一个带有 fill parent 宽度 wrap content 高度的 TextView 文本是从 Java 代码动态放入其中的 尽管布局中有足够的空间 文本的最后一行根本没有显示 它位
  • 您可以拥有与多个数据库关联的 DbContext 吗?

    我有一个用户数据库 其中包含所有用户信息以及应用程序权限等 如果我有一个如上所述的通用数据库 然后每个 Web 应用程序都有其他数据库 我可以链接数据库以使用 Fluent 建立两个数据库之间的关系API优先还是代码优先 没有那么优雅的方法
  • 是否可以仅通过客户端发送电子邮件? [复制]

    这个问题在这里已经有答案了 我需要在使用 Vue js 的前端应用程序中发送电子邮件 我想知道是否可以仅使用 Javascript 发送邮件 或者我是否需要服务器端语言 谢谢你 不 您不能直接使用 JavaScript 发送电子邮件 但是您
  • 检查 java.lang.Double 是否相等的高性能方法

    检查双精度值是否相等的最有效方法是什么 我明白那个 double a 0 00023d double b 0 00029d boolean eq a b is slow 所以我正在使用 double epsilon 0 00000001d
  • C++ 变体类成员通过引用存储

    我正在尝试使用 std variant 进行实验 我将 std variant 存储为类的成员 在下面的代码中 如果变体按值存储 则一切正常 但如果变体按引用存储 则不起作用 对于向量情况 以及自定义对象 这是为什么 include
  • PostgreSQL:如何返回与找到的行相关的行(相对结果)?

    如果我的例子没有意义 请原谅 我将尝试使用一种简化的方式来鼓励更多的参与 考虑如下表 dt mnth foo 2012 12 01 December 2012 08 01 August 2012 07 01 July 2012 06 01
  • python 太多静态嵌套块

    我正在尝试将包含相同数量项目的超过 21 个列表写入文本文件中的列 import random a b q for i in range 200 a append random gauss 10 0 1 b append random 20
  • Delphi CreateOleObject 事件

    有一段代码 var myobject OleVariant begin myobject CreateOleObject SomeNamespace SomeClass end 该 COM 对象具有事件 例如 OnClick 我应该如何在不
  • Solr Facet 具有逗号分隔值的多个单词

    我正在将数据从 mysql 提取到 solr 中 其中一个字段是使用 group concat 函数生成的 该函数会生成一个以逗号分隔的字段 其中列出了事件的所有频段 当时我相信这是为一项活动存储多个乐队的最佳方式 但是 我发现我无法针对所
  • 如何在同一浏览器上重新运行 Selenium 2.0 (webdriver) 测试?

    我正在尝试使用Selenium 2 0 Webdriver 来实现一系列测试 在运行这些测试之前 我必须登录应用程序 由于该应用程序不是我 自己的 测试 api 构建的功能 因此每个测试不应登录到我的应用程序来运行 我更愿意执行以下操作 将
  • Maven:打包时执行antrun任务

    我需要使用 Maven antrun 插件将 Hibernate 字节码检测添加到我的 Java 类之一 以便启用各个字段的延迟加载 但是 我无法让插件在构建周期中执行 如何指示 Maven 在编译之后 打包之前执行 antrun 插件mv