相关疑难解决方法(0)

在Maven中生成Version.java文件

我有一个使用Ant脚本构建的Java项目.我正在尝试将项目转换为Maven.

其中一个任务生成一个名为Version.java的Java源文件,其中包含编译时间戳的静态String表示形式,如下所示:

package com.foo.bar;
public final class Version {
 public static String VERSION="100301.1046";
}
Run Code Online (Sandbox Code Playgroud)

Ant任务非常简单:

<target name="version" depends="init" description="Create Version.java">
    <echo file="src/${package.dir}/Version.java" message="package ${package.name};${line.separator}" />
    <echo file="src/${package.dir}/Version.java" append="true" message="public final class Version {${line.separator}" />
    <echo file="src/${package.dir}/Version.java"
          append="true"
          message=" public static String VERSION=&quot;${buildtime}&quot;;${line.separator}" />
    <echo file="src/${package.dir}/Version.java" append="true" message="}${line.separator}" />
    <echo message="BUILD ${buildtime}" />
</target>
Run Code Online (Sandbox Code Playgroud)

是否可以使用生成源或其他简单方法在Maven中执行类似的操作?

java maven-2 code-generation

54
推荐指数
6
解决办法
5万
查看次数

包括从pom.xml到应用程序包的应用程序版本号

每个人pom.xml都有:

<groupId>com.vendor</groupId>
<artifactId>product</artifactId>
<version>1.0.13.0-dev</version>  <!-- THIS FIELD -->
<packaging>war</packaging>
Run Code Online (Sandbox Code Playgroud)

version piece对于捆绑应用程序非常有用,因此用户可以查看和报告它们.

但我不喜欢代码重复,并寻找一种方法来避免将带有版本信息的属性文件放到VCS(Git/SVN),因为每次我碰到版本时我必须提交到两个地方(pom.xmlversion.properties).

我可以通过哪种方式在Java应用程序中以编程方式提供版本属性pom.xml

java build version maven

11
推荐指数
3
解决办法
8575
查看次数

标签 统计

java ×2

build ×1

code-generation ×1

maven ×1

maven-2 ×1

version ×1