1.生成瓶包:SH hello.jar jar.sh
jar.sh [chenquan @ hostuser tartest] $猫 ジャー-cvf0m $ {1} ./META-INF/MANIFEST.MF。 [chenquan @ hostuser tartest] $ lsのMETA-INF / MANIFEST.MF [chenquan @ hostuser tartest] $ lsのテスト/ SignNatureTest.class [chenquan @ hostuser tartest] $猫のMETA-INF / MANIFEST.MF マニフェスト-バージョン:1.0 メーンクラス:test.SignNatureTest [chenquan @ hostuser tartest]
2.外部依存関係を達成ジャー・ジャーを実行します。
外部依存のjar libsディレクトリまたは同じレベルのディレクトリははlib可能で生成されたjarパッケージに前のステップに移動するに用意し、
ます。java -jar -Djava.ext.dirs =。/ LIBSの$ {I}
LIBS、コマンド-Djava.ext.dirs内=同レベルの結果ジャーlibsの場合は、パラメータが./ので、代わりに私が実行したい位置に依存するJARパッケージのjarパッケージの相対的な私のjarファイルを伝えることを意味./libs、もしどこ
[chenquan @のhostuserテスト] $ llの 合計12 -rw-RW-r--のは。1 chenquan chenquan 3188 8月4日12時06分foo.jarを -rw-RW-r--の。1 chenquanのchenquan 3254 8月4日12時23分hello.jar drwxr-XR-X。4は135の8月4日12時14分のlibsはchenquan chenquan -rwxrwxrwx。図1は、104 8月4日12時36分にstart.sh chenquan chenquan [chenquanする@ hostuser試験] $ LSのLIBS / コモン・コーデック1.12.jarコモンズ-lang3-3.9.jar setup.sh SignNatureTest.java tartest試験 [chenquanする@ hostuserテスト]を$猫start.sh #!/ binに/ bashの "$ @を"で私のために 行う 。javaの-jar -Djava.ext.dirs = / libsには、$ {I} エコー"$ {I}をexcuting RESは次のとおりである:" 済 [chenquan @hostuserテスト] $
結果は、ここで私はいつも再びノックのコマンドを実行していないのshファイルを書き込むことが怠惰です:
[chenquan @のhostuser試験] $ SH start.sh hello.jar foo.jarを
&K1 = values1&K2 = 33
MD5stringである:832c599beef71cce2ca7e3953b4dc5fb2019-08-04 12:50:hello.jar RESを20excutingことである:
&K1 = values1&K2 = 33
MD5stringである:832c599beef71cce2ca7e3953b4dc5fb2019 -08-04 12:50:foo.jarをRESをさ21excuting:
[chenquan @のhostuserテスト] $
補足:クラスパス
- クラスパスが設定されている
.
クラスへのすべての参照の場所を見つけるために開始することからディレクトリを宣言する場所のjarパッケージ