基于maven

时间:2018-03-07 05:31:38

标签: maven

我有一个基于maven的项目,用一个版本来建立一个jar,myproject-1.0.jar 我有一个运行jar的shell脚本,并进行其他处理工作。 现在我面临一个问题,我需要在每次更新maven中的版本时手动更新脚本中的jar版本。 有没有办法我可以用脚本中的版本更新jar名称? 我知道我可以从jar中删除版本或在脚本中编写代码来获取最新版本,但我想知道maven是否可以更新脚本文件内容。

1 个答案:

答案 0 :(得分:0)

在Maven中,有一项称为资源过滤的功能。使用它,Maven将shell脚本(它必须位于src/main/resources文件夹中)复制到输出类中,并在该副本中翻译资源,解释属性。

在shell脚本中创建占位符${version}${project.version}(新maven)对应于jar文件的版本。

pom.xml中,添加以下

<resources>
<resource>
  <directory>src/main/resources</directory>
  <includes>
     <include>*.sh</include>
  </includes>
  <filtering>true</filtering>
</resource>

资源过滤器应从运行时中选择版本信息,并在shell占位符中替换。

过滤有很多可用的自定义,包括<outputDirectory>,以便将过滤后的资源复制到捆绑的jar之外。