web-dev-qa-db-ja.com

jarの.classファイルを更新する

。classjarファイルを新しいファイルで更新したい。特にEclipse IDEで最も簡単な方法は何ですか?

46
penguru

このチュートリアル jarファイルの更新方法の詳細

jar -uf jar-file <optional_folder_structure>/input-file(s)     

ここで、「u」は更新を意味します。

67
Brian Agnew

自動または手動で実行しますか?手動の場合、JARファイルは実際には単なるZipファイルであるため、任意のZipリーダーで開くことができるはずです。 (最初に拡張子を変更する必要がある場合があります。)Eclipseを介してJARファイルを自動的に更新する場合は、Eclipseでの Ant サポートを調べて Zipタスク

11
JasCav

7-Zip またはWinzipを使用して、新しいクラスファイルをJARにドラッグアンドドロップするだけです。親フォルダーアイコンを使用してWARファイルに含まれるJARファイルを変更することもでき、7Zipが内部ファイルが変更されたことを検出したときにOkをクリックします

10
Lastnico

Jarはアーカイブです。お気に入りのファイルマネージャー(たとえば、Total Commander)で自分でファイルを置き換えることができます。

6
silent
  1. つかいます jar -xvfファイルをディレクトリに抽出します。
  2. 変更を行い、クラスを置き換えます。
  3. つかいます jar -cvf新しいjarファイルを作成します。
6
James Lim

JARファイルは、変装した単なる.Zipです。 zipフォルダーには.classファイルが含まれます。

macOSを使用している場合:

  1. 「.Zip」拡張子を持つファイルの名前を変更します。例えばmyJar.jar-> myJar.Zip。
  2. '.Zip'を解凍します(ダブルクリックします)。 「myJar」という新しいフォルダーが表示されます
  3. .classファイルを見つけて、新しい.classファイルに置き換えます。
  4. フォルダ「myJar」のすべてのコンテンツを選択し、「xアイテムの圧縮」を選択します。 フォルダ自体を圧縮しないでください、そのコンテンツのみ

その他-macOSで、元のjarを参照して単一の.classファイルをコンパイルします

  1. コードを含むファイルmyClass.Javaを作成します。
  2. Spotlightからターミナルを開きます。
  3. javac -classpath originalJar.jar myClass.Javaこれにより、myClass.classというコンパイル済みクラスが作成されます。

ここから、上記の手順に従います。 Eclipseを使用してコンパイルすることもできます。プロジェクトを右クリックして[ビルドパス]-> [外部アーカイブの追加]をクリックするだけで、元のjarを参照できます。ここから、jarとしてコンパイルし、上記のZipテクニックを使用して、jarからクラスを取得できるはずです。

2
Toby Mellor

Jar内のproperties/my_app.propertiesファイルの編集:

"Zip -u /var/opt/my-jar-with-dependencies.jar properties/my_app.properties"。基本的に "Zip -u <source> <dest>"、destはjar抽出フォルダーに関連しています。

1
Shashi Ranjan

大まかな手順:

Setup the environment
Use JD-GUI to peek into the JAR file
Unpack the JAR file
Modify the .class file with a Java Bytecode Editor
Update the modified classes into existing JAR file
Verify it with JD-GUI

詳細な手順と方法については、以下のリンクを参照してください。

https://www.talksinfo.com/how-to-edit-class-file-from-a-jar/

0
user2266614

任意の.jarファイルのソースコードをオンラインで検索し、同じプロジェクトをIDEの基本設定でインポートします。Javaファイルで必要な変更を行い、.classファイル用にコンパイルします。

コンパイルが完了したら、jarファイルを抽出し、古い.classファイルを新しいファイルに置き換えます。

そして、以下のコマンドを使用して.jarファイルを再構築します

jar cf test.jar *

注:私たちのプロジェクトではこの変更を何度も行ってきましたが、あなたがそれが役立つことを願っています。

0
hari

1)ファイルを次のフォルダに抽出できます

jarname.jar

フォルダー内のファイルを置き換えます。デバッグ中にクラスを頻繁に更新する場合に便利です

2)jarを抽出してファイルを置き換えてから、jarを再度作成することができます

3)7 Zipでjarファイルを開き、新しいクラスをドラッグアンドドロップして古いクラスをコピーします

0
Craig Angus