- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在项目中执行 2 个常见的插件驱动任务。因为它们很常见,所以我想将它们的配置移动到共享父 POM 的 pluginMangement
部分。然而,这两个任务虽然在其他方面完全不同,但都使用相同的插件。在我的一些项目中,我只想执行 2 个任务中的 1 个(我并不总是想运行插件的所有执行)。
有没有一种方法可以在父 pom 的 pluginManagement
部分中指定插件的多个不同执行,并在我的子 pom 中选择其中一个(且只有一个)实际运行?如果我在 pluginManagement
中配置 2 个执行,则似乎两个执行都会运行。
注意:我认为这可能是也可能不是问题 Maven2 - problem with pluginManagement and parent-child relationship 的重复。 ,但由于问题将近 4 屏长(TL;DR),因此简洁的重复可能是值得的。
最佳答案
你是对的,默认情况下 Maven 将包含你配置的所有执行。这是我之前处理这种情况的方法。
<pluginManagement>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>some-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>first-execution</id>
<phase>none</phase>
<goals>
<goal>some-goal</goal>
</goals>
<configuration>
<!-- plugin config to share -->
</configuration>
</execution>
<execution>
<id>second-execution</id>
<phase>none</phase>
<goals>
<goal>other-goal</goal>
</goals>
<configuration>
<!-- plugin config to share -->
</configuration>
</execution>
</executions>
</plugin>
</pluginManagement>
请注意,执行绑定(bind)到none
阶段。在子项中,您启用应按如下方式执行的部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>some-maven-plugin</artifactId>
<executions>
<execution>
<id>first-execution</id> <!-- be sure to use ID from parent -->
<phase>prepare-package</phase> <!-- whatever phase is desired -->
</execution>
<!-- enable other executions here - or don't -->
</executions>
</plugin>
如果子进程没有显式地将执行绑定(bind)到某个阶段,它将不会运行。这允许您选择所需的执行。
关于maven - 我可以在pluginManagement 中配置多个插件执行,并在我的子POM 中进行选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16540808/
基本上就是标题。。我在任何地方都找不到一个简单的比较,来解释这两者之间的差异:。我知道Gradle中可以有3种类型的插件:。我认为这三种类型的插件在某种程度上与它们可以在settings.gradle
Maven 使用 dependencyManagement 对依赖进行管理,与之类似地,Maven 中还提供了一个名为 pluginManagement 的元素,它可以帮助用户管理 Maven 插件。
那里 我有一个父 pom.xml,它定义了 maven-ear-plugin 的默认配置 org.apache.maven.plugins
我在 中定义插件版本父 POM 的部分,并希望在 中使用它们子模块部分。 这是有效的,除非插件在子模块的配置文件中使用。在这种情况下,来自父 POM 的 的版本部分被忽略。 mvn -v 的输出
我想用孵化 plugins block至build.gradle : plugins { id "com.jfrog.bintray" version "0.4.1" } 默认情况下,这会从
我正在尝试为报告配置 Maven Checkstyle 插件,并希望将 Checkstyle 的依赖项更改为 7.5 而不是默认的 6.11.2。 为了实现这一点,我在父 pom 中声明了 plugi
我有 maven-jaxb2-plugin。我生成 jaxb 对象并将其引用到其他项目类中。我已将 jaxb 插件和编译器插件放在 pluginManagement 标记下。 Maven首先执行编译阶
来自 maven documentation pluginManagement: is an element that is seen along side plugins. Plugin Manag
我有一个非常简单的测试脚本只是为了学习pytest,tmp.py: def square(x): return x*x def test_square(): assert square
我的 parent pom 明确在两者中声明对 maven-javadoc-plugin 2.9.1 的依赖 org.apache.maven.plugi
我有一个具有以下结构的 pom.xml 文件: 4.0.0 someParentGroupId someParentArtifactId
当我使用 tomcat-plugin 时,我有一个奇怪的行为,在我的父项目中,我在插件管理中声明了插件配置。 我有 3 个子 war 项目,其中两个声明了插件,一个没有声明插件。 由于未知原因,插件在
我的项目继承的POM包含一些对于 release指定一些额外的插件 arguments . 我的问题是:有没有办法覆盖 arguments在这种情况下来自命令行的参数? 父 POM 有这个:
在 pytest 插件中,我想访问 runtest Hook 内的配置。这可行,但感觉就像黑客。有更干净的方法吗? configuration = None def pytest_configure(
我刚刚创建了一个 grails 应用程序 (Grails 2.2.0) 并构建了 war 文件以将其部署到 apache tomcat 中,但我就是无法启动该应用程序: 这实际上是我的 Catalin
我有一个多模块 Maven 项目,我想让我所有的子模块都使用 maven-compiler-plugin在根中指定 pom.xml .我应该放在哪里 maven-compiler-plugin声明(在
我在 pluginManagement 标签的父 pom.xml 中有 jaxws-maven-plugin,我指的是子 pom 中的这个插件。 mvn clean install 运行良好。但是,
这是我的 pom 文件的片段。 .... org.apache.maven.plugins
在新的 Win8.1x64 机器上安装 Android Studio 后,每当我尝试启动它时,我都会收到 ClassNotFoundException: com.intellij.ide.plugin
这个问题在这里已经有了答案: What is pluginManagement in Maven's pom.xml? (5 个回答) 关闭6年前. 在配置我的 pom.xml 时,我不得不配置一个插
我是一名优秀的程序员,十分优秀!