IntelliJ IDEA - 我可以自动增加构建(版本)号吗?

IntelliJ IDEA - can I have automatically incremented build (version) number?

我能否以某种方式设置 IntelliJ 构建过程来预处理 Java 源代码并给我不断递增的构建号?类似于:

int myBuildNumber = INTELLI_J_IDEA_MAGIC_WHICH_WILL_INCREMENT_EVERY_BUILD;

好的,在 AtomHeartFather 的提示下,我明白了。

首先我们需要写一个antxml文件。该文件将创建一个文件,其中将存储内部版本号并递增,然后它将查看您的源代码文件 ${src}/com/yourPath/Main.java 对于变量 public static final String BUILD_NUMBER = ".*"; 并将其替换为当前内部版本号

xml 文件如下所示:

<project name="MyProject" default="init" basedir=".">
    <description>
        simple example increment build variable
    </description>
  <!-- set global properties for this build -->
  <property name="src" location="../src"/>

  <target name="init">
    <echo file="myAntOut.txt">My first ant ${src} ${line.separator}</echo>

    <buildnumber/>
    <replaceregexp file="${src}/com/yourPath/Main.java"
               match="public\s+static\s+final\s+String\s+BUILD_NUMBER\s+=\s+&quot;.*&quot;;"
               replace="public static final String BUILD_NUMBER = &quot;${build.number}&quot;;"
               byline="true"
    />

  </target>
</project>

然后在您的 intelliJ(我使用的是 14.0.3)中单击 View->Tool Windows->Ant Build。然后 + 并浏览到您的 xml 文件(请注意,您的 xml 使用的当前路径将是该 xml 文件本身的路径 - 而不是 inteliJ 项目 - 因此你可能想要根据您存储 xml 的位置更正部分 location="../src")。然后您将看到我们的目标 init 您可以 select 它并单击 play 按钮。如果有效,您将看到 BUILD_NUMBER 在您的源代码文件 Main.java 中递增。现在重要的技巧是如何自动生成它:只需右键单击 init 和 select Execute on->Before Compilation。完成:)