java - 什么引用 Maven 插件执行的 <id> 值?

标签 java maven

在 Maven 中 <plugin>元素有一个 <executions>包含多个 <execution> 的元素元素。每个<execution>元素可以有一个 <id>包含字符串的元素。什么引用那些<id>...</id>元素?省略那个元素是什么意思? <id> 的语义是什么?元素?

例如:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <id>default-jar-execution</id>
            <configuration>
              <finalName>mainjar</finalName>
            </configuration>
          </execution>
          <execution>
            <id>extra-jar-execution</id>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <finalName>anotherjar</finalName>
            </configuration>
          </execution>
        </exectutions>
      </plugin>
      [...]
    </plugins>
  </build>
</project>

哪些引用了那些 <id>default-jar-execution</id><id>extra-jar-execution</id>值(value)观?更改这些字符串中的任何一个的行为差异是什么?删除这些元素意味着什么?

最佳答案

id 元素有两个功能:

  1. 文档
  2. 让 Maven 知道您何时要创建执行以及何时要修改现有执行。

第一种情况很简单:它只允许您为执行指定一个有意义的名称。

第二种情况意味着 Maven 带有默认执行,例如,您可以在运行 mvn help:effective-pom 时看到。如果要替换/扩展现有执行,则需要使用相同的 id。然后 Maven 会将两者合并。

参见 http://maven.apache.org/guides/mini/guide-configuring-plugins.html#Using_the_executions_Tag

Executions of the same id from different POMs are merged.

关于java - 什么引用 Maven 插件执行的 <id> 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26609058/

相关文章:

java - 使用linux shell中的可执行文件从java中的maven项目读取.txt文件

java - 为什么 Maven 在我使用 Spring-Data 时添加依赖的 Hibernate Jars

java - 单击 ListView 中的项目时,Android 应用程序崩溃

java - 在Spring中创建多对一关系的对象(非空属性引用 transient 值)

java - 如何使用 Maven 加快构建过程

java - Maven 不获取依赖 jar

java - 使用 Maven 和 Jersey/Jackson 设置生成的依赖于平台的 .war 文件?

java - Eclipse 看不到 Maven 项目的 GitHub 依赖项中所做的更改

java - Java 中不正确的模数结果

java - 静态上下文警告