2015-06-22 52 views
2

我的公司试图找到一种方法来使用Maven在EAR和WAR上放置某种类型的版本文件或版本。使用Maven将版本文件放到EAR或WAR中

我们需要的是像我们这样的Maven构建是采取一个版本号出文件的,不知怎么把它变成一个EAR或WAR还是有一些更好的办法..

我想听听形式其他人如何做到这一点。

我们使用Maven,Git,Bamboo等。因此,如果莫名其妙的Git可以把一个版本或提交数量成则Maven可以利用这将是伟大的一个文件

回答

3

你至少要选择:

定制清单条目。

战争插件允许您将一些信息添加到清单文件中。耳机插件有指定清单文件或设置一些环境设置的选项:https://maven.apache.org/plugins/maven-ear-plugin/examples/specifying-env-entries-for-the-generated-application-xml.html

(请注意:今天它的$ {project.version}而不是$ {pom.version}。

值添加到属性文件,并使用过滤器来替换占位符

创建的src/main /资源一个简单的文本或属性文件,像application.properties:

app.version = $ {project.version} app.description = $ {project.description}

然后为该文件启用资源过滤:http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html。 您还可以访问环境变量:$ {env.variable_name}并使用来自竹子的构建编号(作为参数传递给构建)。

http://www.mojohaus.org/buildnumber-maven-plugin/这样的插件允许您添加SVN修订版本号或Git Sha1 Commit Hash。

如果你正在使用release插件,maven会自己在发布的jar或war的maven文件夹中(meta-inf文件夹内)添加一些信息。

+0

如果您也有兴趣通过网址阅读这些版本信息,例如'http:// example.com/versioninfo.txt',您可以过滤'versioninfo.txt'模板和[包含版本文件进入战争](http://www.taringamberini.com/en/howto/java/2015/including-release-info-into-war/)通过使用'maven-war-plugin'。 – taringamberini

相关问题