jarパッケージの内容を変更する方法

1188 ワード

jarパッケージの内容を変更する方法
背景:
私たちのjavaプロジェクトはリリース後、通常jarパッケージ、またはwarパッケージにパッケージされますが、jarパッケージと一緒に打つプロファイルがあります.パッケージ化後にプロファイルを変更するには、少し問題があります.パッケージ化後にjarパッケージの内容を変更する方法について説明します
ps:
次の操作はlinux上でコマンドライン操作を使用し、他のプラットフォーム上の同類の操作またはグラフィックスツールで代替できます.
原理:
jarパケットは実は圧縮zipパケットであり、接尾辞名はjarである.だからzipとして直接解凍して修正してjarに再パッケージすることができます.
解凍:
zipである以上、そのままzipとして解凍し、ここではunzipを使用します
unzip xxx.jar

次にjarパッケージのファイルが解凍され、クラスのディレクトリがパッケージ名構造で保存されていることがわかります.私たちが変更するファイル、例えばtestを見つけます.xml
変更
このステップは簡単で、修正したいファイルを修正するにはvim、nanoなどを使うことができます.
梱包する
肝心なステップは、jdkに付属するjarツールを使用して、修正したファイルをjarに再パッケージします.
jar cvf xxx.jar ./

修正したファイルを再パッケージすることができますが、ここで問題があることに注意してください.それはmanifestファイルの問題です.よく知られているように、manifestファイルには起動パラメータが記載されています.実行可能なjarパッケージであれば、これは少なくありません.しかしjarコマンドのデフォルトでは、元のmanifestファイルは使用されず、デフォルトが再生成されます.したがって、元のmanifestファイルを保持するには、次のコマンドを使用して元のmanifestファイルをパッケージ化する必要があります.
jar cvfm xxx.jar ./META-INF/MANIFEST.MF ./