如何制作shell
script
来执行jar
文件,无论其版本如何?
说我有一个文件:
我-JAR文件-1.0.0-快照executable.jar
我想要一个可以按照
的方式执行某些操作的shell脚本#!/bin/bash
java -some -other -options -jar my-jar-file-1.0.0-SNAPSHOT-executable.jar
但它应该执行它的任何版本,所以
我-JAR文件-1.0.0-快照executable.jar
我-JAR文件-1.1.0-快照executable.jar
我-JAR文件-1.0.1-快照executable.jar
应该都由同一个脚本执行。
我该怎么做?
答案 0 :(得分:2)
如果jar的名称匹配模式my-jar-version.jar
:
java -jar `ls my-jar*.jar`
答案 1 :(得分:1)
我们也可以考虑另一种方法,为什么不给jar一个最终名称,它将保持不变,并且不需要修改脚本。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<finalName>myname</finalName>
<configuration>
</plugin>
如果必须具有版本号,您可以编写一个脚本来模式搜索该特定jar。并相应地运行它。
我使用蚂蚁做了类似的工作,但目标不同,希望这会有所帮助。
答案 2 :(得分:1)
在bash脚本中尝试:
for jarfile in my-jar-file-*-SNAPSHOT-executable.jar; do
java -some -other -options -jar $jarfile
echo "done for: $jarfile"
done