【发布时间】:2014-03-30 07:40:11
【问题描述】:
如果我们执行这个命令,我需要知道这两个几乎做同样事情的命令有什么区别。
【问题讨论】:
标签: maven
如果我们执行这个命令,我需要知道这两个几乎做同样事情的命令有什么区别。
【问题讨论】:
标签: maven
Maven 没有为release-build 赋予任何特殊含义。但是,项目可以使用属性(-Dproperty-name=value 或只是-Dproperty-name)来激活改变项目构建方式的配置文件(Maven - activate profile based on project property)。它可能会启用一些仅对最终版本必需的额外步骤。例如this project uses it to include a native library in the build:
<profile>
<id>native</id>
<activation>
<property>
<name>release-build</name>
</property>
</activation>
<modules>
<module>pi4j-native</module>
</modules>
</profile>
没有通用的答案:您需要查阅您正在使用的项目的文档或构建。
【讨论】:
您可以通过已支持开箱即用的 maven-release-plugin 自动执行此更简单的操作 to activate a profile in case of a release,如下所示:
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<releaseProfiles>release</releaseProfiles>
</configuration>
</plugin>
除此之外,仅在配置文件处于活动状态时才激活模块确实很糟糕。 This will lead so several problem.
【讨论】: