Maven 配置文件 - 如何为父级运行插件一次,为模块运行多次?

2024-05-09

我对詹金斯的输出有点困惑。

Jenkins 上的工作:(底部缩短了 pom.xml)

mvn deploy -Pprofile1

我的所有插件都会运行 4 次:

  • 父/pom.xml
  • 父/module1/pom.xml
  • 父/module2/pom.xml
  • 父/module3/pom.xml

I need:

  • 第一个 Maven 插件: 只运行once在父 pom.xml 中
  • 第二个 Maven 插件: 跑去every pom.xml

Why:

  • first-maven-plugin:将在阶段运行:初始化 --> 相当长的清理操作。不想再这样4次了
  • secondary-maven-plugin:将在所有 pom 的 stage:package --> necesaary 中运行。

父pom.xml

<project ...>

    <groupId>com.test.parent</groupId>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>parent</name>

    <modules>
        <module>module1</module>
        <module>module2</module>
        <module>module3</module>
    </modules>

    <profiles>
        <profile>
            <id>profile1</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.test.plugin</groupId>
                        <artifactId>first-maven-plugin</artifactId>
                        <version>1.0.0-SNAPSHOT</version>
                        <execution>
                            <id>execution1</id>
                            <phase>initialize</phase>
                            <goals>
                                <goal>doit</goal>
                            </goals>
                        </execution>
                    </plugin>
                    <plugin>
                        <groupId>com.test.plugin2</groupId>
                        <artifactId>second-maven-plugin</artifactId>
                        <version>1.0.0-SNAPSHOT</version>
                        <execution>
                            <id>another</id>
                            <phase>package</phase>
                            <goals>
                                <goal>goforit</goal>
                            </goals>
                        </execution>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>

您可以使用<inherited>false</inherited>在第一个插件配置中。所以它只会在父pom执行中运行。

<build>
    <plugins>
        <plugin>
            <groupId>com.test.plugin</groupId>
            <artifactId>first-maven-plugin</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <inherited>false</inherited>
            <execution>
                <id>execution1</id>
                <phase>initialize</phase>
                <goals>
                    <goal>doit</goal>
                </goals>
            </execution>
        </plugin>
        <plugin>
            <groupId>com.test.plugin2</groupId>
            <artifactId>second-maven-plugin</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <execution>
                <id>another</id>
                <phase>package</phase>
                <goals>
                    <goal>goforit</goal>
                </goals>
            </execution>
        </plugin>
    </plugins>
</build>

See https://stackoverflow.com/a/1671175 https://stackoverflow.com/a/1671175

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

Maven 配置文件 - 如何为父级运行插件一次,为模块运行多次? 的相关文章

  • Intellij IDEA 断点停止在 JAR 中,而不是我的项目的源代码中

    我在 java 文件中设置了一个断点 我通过 maven jetty 插件启动了 jetty 我设置断点的java文件也打包成JAR了 Intellij 在断点处停止 但它显示了打包到 JAR 中的文件而不是 java 文件 它的行为就像我
  • 以编程方式检查 .class 文件是否扩展特定类

    我有一个问题 我已经尝试解决好几个小时了 在 Eclipse 插件中 我有一个 ArrayList 其中包含一些 java class 文件的完整路径 作为字符串 我想做的是检查列表中包含的类是否扩展了特定的类 我考虑过解析该文件 查找 e
  • 检查更新时 Maven 无限期挂起

    我正在使用 Maven 构建一个项目 我是新手 并且它挂起 mvn package INFO Scanning for projects INFO INFO Building Presentation Reports INFO task s
  • Drupal 视图 - 自定义/修改 SQL

    我遇到了 配置文件复选框 模块的问题 该模块存储以逗号分隔的自定义配置文件字段 问题是我是否创建一个视图来按值过滤 SQL 结果最终是这样的 AND profile values profile interests value in Bus
  • Maven 按顺序构建所有内容

    我有一个项目 其中所有项目都有一个父 pom 定义如下
  • 对 http://repo1.maven.org/maven2/ 的请求返回 501 HTTPS 必需状态和正文 [重复]

    这个问题在这里已经有答案了 截至 2020 年 1 月 15 日 我向中央存储库提出请求后收到以下回复 Requests to http repo1 maven org maven2 return a 501 HTTPS Required
  • Onejar,使用maven,不会将资源复制到jar中

    我正在使用 one jar 来打包我的程序 我在 src main resources 中有资源 maven resources plugin正确地将资源复制到jar中 但是onejar生成的jar不包含我的资源 这是我的 pom
  • java.lang.IllegalStateException - 提交响应后无法创建会话

    我在我的项目中使用 JSF PrimeFaces 我为此准备了一个Maven项目 当我编译项目并加载主页后 我收到以下异常 java lang IllegalStateException Cannot create a session af
  • Perl:测试输入阅读器?

    有没有一种方法可以使用标准 Test 等模块自动测试 Perl 程序是否正在读取输入 例如标准输入正确吗 例如 测试一个从 STDIN 读取两个整数并打印它们之和的程序 这不是 100 清楚你的意思 我会回答假设你想编写一个测试脚本来测试你
  • maven Surefire 插件不使用 --enable-preview 模式

    这是我的 pom xml
  • Swagger for Micronaut 与 Maven

    我想从 Spring Boot 2 切换到 Micronaut 框架 而且我在 Swagger 设置上遇到了困难 在 Spring Boot 2 项目中 我有以下依赖项
  • ECMASCRIPT 5 与 wro4j 和 Google Closure 编译器

    我们将 wro4j 与 Google Closure 和 Maven 一起使用来缩小我们的 JS 默认情况下 它不支持 JS 中的严格模式 use strict 它只是将其删除 有什么配置我可以做吗pom xml或其他地方让它离开use s
  • 使用 Netbeans(和 Maven)运行正确的上下文根

    当我从 Netbeans 7 2 运行项目时遇到了一些问题 我还使用 Glassfish 3 1 2 服务器 事实上 我正在将现有项目从 Ant 迁移到 Maven 我的 pom xml 已完成 并且我已经使用了上下文根的自定义 如下所述
  • java.library.path 中没有 dhtreader

    我尝试让这个专家projekt https bitbucket org Temdegon greenhouse在 Raspberry Pi 3 上运行 但 DHT11 传感器给出以下错误 sudo java classpath classe
  • 运行maven编译两次

    我正在将 ant 项目迁移到 Maven 这个项目非常不寻常 它使用两个编译步骤和这些编译步骤之间的代码生成步骤 整个构建过程可以描述如下 编译 src 目录中的所有内容 运行内部java工具 将java指向已编译的类和用于编译这些类的ja
  • 动态加载具有某些其他 dll 依赖项的 .NET 程序集

    我想为我的应用程序创建一个插件引擎 但我有一个问题 如何加载对其他程序集有一定依赖的 Net 程序集 实际上是我的插件 例如我想加载A DLL and A DLL需要B dll or C dll等等来运行 这A dll有两种方法 例如A a
  • 为什么将模块级代码放入函数中然后调用该函数在Python中速度更快?

    在亚历克斯 马尔泰利的回应中使 Python 脚本面向对象 https stackoverflow com questions 1813117 making a python script object oriented 他提到在 Pyth
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 模块参数权限

    我是内核编程的新手 当我正在经历module param 我对权限值 0 感到困惑 有人解释说它不会在 sysfs 中获得条目 而其他人则喜欢S IRUGO将获得一个条目 我无法理解这个概念 perm 值 0 表示什么 我们什么时候需要 s
  • 访问 maven-release-plugin 的发布版本

    我在 Jenkins 作业中使用 maven release plugin 并且在执行 shell 脚本时启用了 在 SCM 运行之前运行构建步骤 我想访问此 shell 脚本中的发布版本 但无法访问它 我不确定这个插件中存储发布版本的变量

随机推荐

  • 将 GSL(或其他库)静态链接到共享库

    注意 尽管下面提到了 Python 但我的问题很可能根本与 Python 无关 如果我没有记错的话 我提到的 模块 相当于一个 C 库 至少对于我的问题而言是这样 在 Debian 上 我尝试使用 C 创建一个 Python 模块 而该模块
  • 如何使用 PHP 创建动态页面标题

    大家好 我想知道是否有人可以帮助解决这个 PHP 问题 是否可以使用 H2 标记中的文本并使用它来动态填充页面标题 我还希望能够使用相同的技术将 H2 文本添加到元描述中 有人可以帮忙吗 如果您的 h2 文本是动态创建的 那么网页的其他部分
  • 如何根据 Kubernetes / Docker 事件发送警报?

    是否可以根据 Kubernetes 集群内发生的事件以某种方式发送警报 到电子邮件 slack 特别是 如果 Pod 意外重新启动或 Pod 无法启动 那么获取警报将非常有用 同样 了解 Pod 的 CPU 使用率是否超过特定阈值并获取警报
  • 在 r 中的 unique() 函数中使用管道不起作用

    我在使用管道运算符 gt 和 unique 函数时遇到一些麻烦 df data frame a c 1 2 3 1 b a unique df a no problem here df gt unique a not working her
  • Javascript:自动点击按钮?

    我正在学习如何编写 chrome 扩展 而且我对 javascript 还很陌生 这是一些 html div class button data a class button1 whiteColor href http link1 com
  • 在 Visual Studio 2017 中变量模板中的除法返回零

    这大概是一个视觉工作室2017 questions tagged visual studio 2017与此问题相关的错误 Visual Studio 中 Lambda 的模板变量错误 https stackoverflow com q 49
  • p:remoteCommand 无法在异步模式下工作

    如果有人可以在这里给我帮助 我将不胜感激 我在页面上有一个选项卡式布局 通过单击选项卡 p commandLink 我想初始化该选项卡的适当数据并更新显示内容的区域 由于我希望初始化能够延迟发生 当呈现选项卡内容时 因此我使用 Primef
  • Open XML SDK:尝试填充超过 25 列时出现“不可读内容”错误

    我使用 C 中的 Open XML SDK 创建了一个电子表格 并成功填充了两个工作表 当尝试填充第三个时 我得到了 内容不可读 打开已完成的文档时出错 并且当我尝试在第三个文档中连续填充超过 25 个单元格时 似乎会发生此错误 我使用的代
  • Jqueryui:如何在对话框周围制作阴影?

    我正在尝试在 jqueryui 对话框周围放置阴影 就像是 div class ui widget shadow ui corner all Some stuff in the box with a shadow around it div
  • 在Java中将浮点数组写入文件

    我正在读取 NetCDF 文件 我想将每个数组作为浮点数组读取 然后将浮点数组写入新文件 如果我读取浮点数组 然后迭代数组中的每个元素 使用 DataOutputStream 我可以使其工作 但这非常非常慢 我的 NetCDF 文件超过 1
  • 从 pandas udf 记录

    我正在尝试从 python 转换中调用的 pandas udf 进行日志记录 因为在执行器上调用的代码不会显示在驱动程序的日志中 我一直在寻找一些选项 但到目前为止最接近的选项是这个one https stackoverflow com q
  • 如何从 Perl 中的字符串中去除无效的 XML 字符?

    我正在寻找一种标准的 经过批准的 可靠的方法 可以在将字符串写入 XML 文件之前从字符串中删除无效字符 我在这里讨论的是包含退格键 H 和换页符等的文本块 There has成为执行此操作的标准库 模块函数 但我找不到它 我在用着XML
  • PHP7 返回类型为 JSON

    PHP 7 有一个新功能 即返回类型声明 我们可以返回一个 字符串 类型 例如 function myFunction a string 我们还可以返回一个 数组 类型 例如 function myFunction a array 但是我们
  • 带有 React 的 Google Analytics 无法正常工作

    我在我的反应项目中使用谷歌分析 即使我在线 它也不会显示任何活跃用户 我尝试过在网上找到的不同方法 但似乎都不起作用 我只在本地主机上尝试过 而不是在已部署的网站上尝试过 但我认为它应该仍然有效 这是我的代码 我的应用程序 js impor
  • php版本升级到8后,出现此错误

    我正在将 php 7 升级到 php 8 0 在以前的 php 版本 7 中 这段代码工作正常 child parent parent resultData gt parent id gt child Yes 上面的代码在 php 7 中工
  • PostgreSQL 中的逆透视表

    我有下表作为 SUM Case End 的结果 Account Product A Product B Product C 101 1000 2000 3000 102 2000 1000 0 103 2000 1000 0 104 200
  • .Net 将 NULL 值从变量值插入 SQL Server 数据库

    也有类似的问题 但答案不是我想要的 如果引用为 NULL 或尚未分配值 我想将 NULL 值插入 SQL Server 数据库 目前我正在测试 null 它看起来像 String testString null if testString
  • 如何使用 System.out.println 以十六进制打印字节?

    我已经声明了一个字节数组 我使用的是 Java byte test new byte 3 test 0 0x0A test 1 0xFF test 2 0x01 如何打印数组中存储的不同值 如果我使用 System out println
  • struts2 date无法通过jquery datetimepicker获取时间

    我是struts2的新手 创建了一个小型Web应用程序 我想要一个帖子是计时器 我选择jquery datetimpicker 在用户选择时间和日期后 它将显示用户选择的时间和日期 我用这个jquery http www javascrip
  • Maven 配置文件 - 如何为父级运行插件一次,为模块运行多次?

    我对詹金斯的输出有点困惑 Jenkins 上的工作 底部缩短了 pom xml mvn deploy Pprofile1 我的所有插件都会运行 4 次 父 pom xml 父 module1 pom xml 父 module2 pom xm