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