是否有人有一个简单的建议记录构建ID(在编译时间生成),该ID在运行时的标题栏中显示?

从Eclipse内部构建,我需要的只是ID,然后我可以将其传递给标题。

有帮助吗?

解决方案

如果您使用的是ANT,则可以轻松设置您的“ JAR”或“软件包”目标,以便它生成一个文件,包括当前时间戳,并将其包含在您的 jar 输出。

如果使用Maven,则有几种方法可以实现类似的东西,例如掉落到蚂蚁使用 ANTRUN插件.

其他提示

如果您使用的是Maven,尤其是如果您希望从SVN的构建编号(尽管它可以通过配置为您生成唯一的构建编号),请查看 BuildNumber-Maven-Plugin.

您只需在pom.xml文件中添加与以下几个类似的摘要:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <version>1.0-beta-3</version>
            <executions>
                <execution>
                    <phase>validate</phase>
                    <goals>
                        <goal>create</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <doCheck>true</doCheck>
                <doUpdate>true</doUpdate>
            </configuration>
        </plugin>

然后在POM中使用$ {buildNumber},以参考构建ID。我用它将这个数字写入清单,然后使用Maven-War-Plugin。

                <archive>
                    <manifest>
                        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                    </manifest>
                    <manifestEntries>
                        <Implementation-Build>${buildNumber}</Implementation-Build>
                    </manifestEntries>
                </archive>

如果要使用时间戳进行构建,则可以从JAR或类修改日期或清单文件中获取它。

Maven在JAR中使用模块版本编号填充了一个清单文件。您可以阅读此内容以获取所使用的所有Maven模块的版本。

使“独特ID”的时间戳部分确保每个构建都有不同的ID。

如果您在Eclipse中完全构建,则需要创建一个构建操作,该操作使用所需的信息在源文件夹中生成资源 - 属性文件将很好地完成 - 然后将其传播到您的二进制输出,并且可以在运行时读取您可以做需要显示的事情。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top