2016-05-26 12 views
-1

バージョン[mainfest with main classを含む]を含む実行可能なjarファイルをビルドしようとしています。 すなわち)testjar-2.0.jarシェルスクリプトのバージョンでjarを実行する

それが実行可能であるので、私はそれが正常に動作し、完全なパッケージ名を使用してjarファイルを起動するためのスクリプトを書いていますし、私は瓶

ie) com.java.test.TestMain 

のバージョンを変更した場合、それは将来に役立つであろうバージョンiでは、以下のコマンドを使用することは今後使用されなくなると考えています。

ie) java -jar testjar-2.0.jar` 

今後、スクリプトでハードコードされたバージョンを使用している場合は、jarのバージョンが変更されることがあります。最適化された方法は何でしょうか?他に良い方法がありますか?ここで

+0

が、これは実際のJava関連のではありません。 [ファイルとワイルドカードを使用してLinuxでファイルを検索/実行する方法]を探したいと思うかもしれませんが、ここではまず最初にワイルドカード展開から最初の一致を得ることができますか?(http://unix.stackexchange.com/questions/156205 /ワイルドカードからの最初のマッチを得る方法) – Underbalanced

答えて

2

はいくつかのアイデアです:

  • は、テンプレートに代入して、バージョン番号のシェルスクリプトを生成します。例えばまたはインストーラーに入る成果物をビルドするときに使用します。

  • JARファイルの名前を、バージョン番号を持たない名前に変更します。

  • バージョン番号を持つJARファイルを指すバージョン番号なしでJARのシンボリックを作成します。次に、シンボリックリンクを使用するためのスクリプトを作成します。

  • JARファイルと一致するように "globbing"スクリプトを作成します。例えば

    潜在
    java -jar testjar-*.jar 
    
+0

私はStephenに同意するでしょう。パフォーマンスに影響はありますか?また、私が使用しているjarファイルは3ppのjarファイルです.jarアプリケーションを実行するために完全な名前空間を使用しています – Shriram

+0

1)No. 2)No. 3)Minimal。 4)最小。最小限のケースでは、オーバーヘッドはJVMを起動する秒数に比べてミリ秒になります。 –

+0

jarで比較的実行しているのが遅いですか? – Shriram

関連する問題