0

バージョンに関係なく、ファイルshell scriptを実行するファイルを作成するにはどうすればよいですか?jar

私がファイルを持っているとしましょう:

my-jar-file-1.0.0-SNAPSHOT-executable.jar

次の行に沿って何かを実行するシェルスクリプトが必要です

#!/bin/bash
java -some -other -options -jar my-jar-file-1.0.0-SNAPSHOT-executable.jar

しかし、それはそれの任意のバージョンを実行する必要があるので、

  1. my-jar-file-1.0.0-SNAPSHOT-executable.jar

  2. my-jar-file-1.1.0-SNAPSHOT-executable.jar

  3. my-jar-file-1.0.1-SNAPSHOT-executable.jar

すべて同じスクリプトで実行する必要があります。

これどうやってするの?

4

3 に答える 3

2

jar の名前がパターンに一致する場合my-jar-version.jar:

java -jar `ls my-jar*.jar`
于 2013-03-04T10:09:47.370 に答える
1

これをbashスクリプトで試してください:

for jarfile in my-jar-file-*-SNAPSHOT-executable.jar; do
    java -some -other -options -jar $jarfile
    echo "done for: $jarfile"
done
于 2013-03-04T10:14:40.627 に答える
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 をパターン検索するスクリプトを作成できます。そして、それに応じて実行します。

私はアリを使って同様の仕事をしましたが、目標は異なっていました。

于 2013-03-04T10:09:19.253 に答える