【问题标题】:Does maven-release-plugin also do what maven-compiler-plugin does?maven-release-plugin 也做 maven-compiler-plugin 的工作吗?
【发布时间】:2014-03-10 16:26:58
【问题描述】:

在项目 pom.xml 中是否需要同时包含 maven-release-plugin 和 maven-compiler-plugin?我想要发布插件的原因是因为我想在冲刺/发布结束时发布项目。我知道编译器插件会编译源代码,但是我不确定发布插件是否也会编译源代码,除了更新 pom 和签出/签入到 scm。

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.2.2</version>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

非常感谢您提供任何帮助。

【问题讨论】:

    标签: maven maven-release-plugin maven-compiler-plugin


    【解决方案1】:

    Maven 发布插件的作用在here 中进行了描述。 您的问题是关于“针对修改后的 POM 运行项目测试以确认一切正常”的项目符号。这里没有那么多魔法。发生的事情是 maven-release-plugin 将启动一个新的 Maven 会话。它将在您运行“mvn release:prepare”的同一文件夹中执行“mvn verify”。 maven-release-plugin 完成的所有步骤也可以手动完成,但这是自找错误。

    【讨论】:

      【解决方案2】:

      如果未指定,Maven 将知道在需要编译代码时该做什么。但是,为了能够控制源版本和目标版本等内容,您需要声明 maven-compiler-plugin

      通常最好的做法是明确定义您正在使用的插件,以及它们的配置,尤其是它们的所有版本,这样您就可以保证什么是有效的。

      【讨论】:

      • 是否有顺序在 pom.xml 中提到这两个插件?或者 Maven 会自动确定插件的执行顺序。这些插件还需要在根 pom.xml 或模块的 pom.xml 中提及吗?谢谢
      • 这些插件在不同的&lt;phases/&gt;中执行。 maven-compiler-plugin 有两个将被调用的目标:compiler:compile(在compile 阶段执行)和compiler:testCompile(在test-compile 阶段执行)。有关阶段的详细信息,请在此处查看:maven.apache.org/guides/introduction/…。在 &lt;pluginManagement/&gt; 部分的父 pom 中定义它们,然后在子级中使用它们。
      猜你喜欢
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 1970-01-01
      相关资源
      最近更新 更多