2013-10-23 50 views
0

我有一个与bash脚本配对的Java项目,以便在Linux上部署。剧本是很多比这更复杂,但重要的部分是这样的部分:使用maven更新脚本

directory="/default/install/directory" 
jarName = "myApp-0.0.1.jar" 
command="/usr/bin/java -DARG=$argValue -jar $directory/$jarName" 

当我更新版本0.0.2,我想Maven来自动改变此行我的脚本,简单地:

jarName = "myApp-0.0.2.jar" 

我敢肯定,这将在某种程度上涉及maven-release-plugin - 可能与sed -i,但我的机器是Windows,以便这些工具不那么容易获得的(虽然我用cygwin) - 但我不确定如何。谢谢!

+3

为什么不把脚本放到资源中,改变'jarName =“myApp - $ {project.version} .jar”',让Maven自动过滤文件? – Tome

回答

1

这通常是通过将这些脚本作为Maven资源来完成的。 使用Maven属性('jarName =“myApp - $ {project.version} .jar”')而不是硬编码的值,并且激活对这些资源的过滤将使这一点变得简单。

如果这些脚本应该以不同于生成的JAR内部的方式打包,程序集插件将能够完成这项工作。

+0

这是一个资源,我只是过滤设置为false,因为我不明白它是什么,直到我阅读您的评论。谢谢您的帮助! – durron597

+0

事实上,我更新了答案,指出了更明确的过滤 – Tome