java - 何时以及如何增加版本号(Maven、Java、Sonar)?

标签 java maven sonarqube pom.xml

我有一个 Java 项目,该项目仍处于早期阶段。目前还没有真正的版本,因此我在 pom.xml 中将版本设置为 1.0.0-SNAPSHOT。

在每次提交之前,我使用以下方法直接从 Maven 执行 Sonar 分析:

mvn sonar:sonar

Sonar 具有记录 KPI 随时间变化的良好能力。但是,它仅对某个版本执行此操作。现在,由于我没有更新版本号,因此它会覆盖上次的分析结果并将其替换为当前的结果。

我想知道如何解决这个问题。我不想每天手动增加版本号,因为这对我来说似乎不太自然。

我还有什么其他选择?我应该使用 Maven 插件之一将内部版本号添加到版本字符串中,以便我拥有唯一的版本吗?您还有其他策略吗?

最佳答案

如果您想增加每个版本的版本号,则 maven release plugin是推荐。

但是如果你想每天甚至每次构建都增加版本号,你可以使用唯一的版本号,比如时间戳,它可以从 Maven 构建阶段获得,在 Maven 2.1 之后,它内置了 ${maven.build .timestamp}你可以使用,并且你可以使用格式

<properties>
    <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
</properties>

更多信息您可以访问http://maven.apache.org/guides/introduction/introduction-to-the-pom.html

关于java - 何时以及如何增加版本号(Maven、Java、Sonar)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11845703/

相关文章:

java - RandomAccessFile 写入是异步的吗?

java - org.jboss.redhat-fuse/fabric8-maven-plugin 和 io.fabric8/fabric8-maven-plugin 之间的区别

maven - 我可以在 Maven 项目中运行 IntelliJ 单元测试而不重新运行 Maven 目标吗?

sonarqube - 装饰失败—— Sonar 分析

jenkins - 无法在网络浏览器中打开 SonarQube

java - 这是状态机的用例吗?如果是这样,您建议使用哪个开源软件?

java - 在 MappedSuperclass 上更新 Spring-data-jpa 时出错

java - java中跳过输入行

java - mvn eclipse :eclipse not working

java - SonarQube 报告删除此表达式,其计算结果始终为 “true”