web-dev-qa-db-ja.com

.jarファイルの内容を表示する

Jarファイル内のクラス、メソッド、プロパティなどを表示する最も簡単な方法は何ですか?私は非常に便利なものと同等のものを探しています ルッツローダー.NET Reflector - Javaの場合

182
Dani

JDKを使用すると、jar -tfはjar内のファイルをリストします。 javapは特定のクラスファイルからより多くの詳細をあなたに与えるでしょう。

235

私は通常7-Zipでそれらを開きます...それは少なくともパッケージとクラスとリソースを見ることを可能にします。
メソッドやフィールドを見る必要がある場合は、Jadを使用しますが、もちろん、(優れた)JavaDocに頼ることをお勧めします。

さて、クラスがどのjarファイルに配置されているのかを見つけるために、SOのどこかにEclipseプラグインについて言及しました。

[編集] SO threadへの参照。 Java:クラス名が与えられたときにどのjarファイルを使うべきかをどうやって知るのですか?

48
PhiLho

私が個人的に使用しているのはJD-GUIです。それはあなたがそれがあなたがクラス内のソースコード、クラス、そしてオブジェクトを見ることを可能にし、そして左側のツリーメニューの中でファイル構造を見ることを可能にするので、それは無料の '逆コンパイラ'です。ただし、クラスを直接変更することはできません。

JD-GUIのウェブサイト: http://jd.benow.ca/

32
Azulflame

メソッド名、フィールドなど.

IDEのプロジェクトにjarを追加すると、通常はメソッドとフィールド名は表示されますが、詳細な実装は表示されません。 NetBeans、Eclipse、IntelliJなどで可能です。IDE内で直接jar構造を参照できます。

内容だけ

コンテンツの閲覧などのためには、次のものを使用できます。

  • jar tvf jarfile.jar
  • winzipまたは任意のZipツール

ソースコード

ソースコードにアクセスするには、JADなどのデコンパイラ、そのフロントエンドの1つ、または他のデコンパイラを使用します。コードが難読化されている場合、...

16
John Doe

Tom Hawtinの回答を拡張すると、リストをパイプ処理して目的のクラスまたはファイルを除外できます。

jar tf my-fat-jar-file.jar | grep filename

これはbash/zshやそれに類するもの、あるいはemacsのeshellで動くはずです。

追加情報: https://docs.Oracle.com/javase/tutorial/deployment/jar/view.html

9
Jose Miguel

WinRarを使用。それはあなたのためにそのままの形でフォルダー構造を開くでしょう。パスを維持しながら、アーカイブ内編集も可能です。

また、JARファイルはZipアーカイブのみです。

7
M.N

たとえばunzip -l <jar-file-name>.jarを使用すると、test.jarという名前のjarファイルがある場合、unzip -l test.jarはそのjarファイルの内容を一覧表示します。

オプション-lを指定したunzipコマンドのマニュアルに従って。

アーカイブファイルを一覧表示する(短い形式)。指定されたファイルの名前、圧縮されていないファイルサイズ、および変更日時が、指定されたすべてのファイルの合計とともに印刷されます。 UnZipが定義されたOS2_EASでコンパイルされた場合、-lオプションは格納されているOS/2拡張属性(EA)とOS/2アクセス制御リスト(ACL)のサイズの列もリストします。さらに、zipファイルのコメントと個々のファイルのコメント(ある場合)が表示されます。ファイルがシングルケースファイルシステム(たとえば、古いMS-DOS FATファイルシステム)からアーカイブされていて、-Lオプションが指定されている場合、ファイル名は小文字に変換され、先頭にキャレット(^)が付きます。

zipinfo <your jar file>を使うこともできます。あなたのOSがこれをサポートしていれば。

7
Amit Khandelwal

中身を見たい場合は、以下の最初のオプションとして名前を変更してください。

  1. F2 & Rename to jarfile.Zip //解凍したものを使用...

  2. jar tvf jarfile.jar

  3. jar tf jarfile.jar

6
Some Java Guy

私が正しく理解しているならば、あなたはクラスだけでなくメソッド、プロパティなども見たいです。私が知っている唯一のツールはEclipseです - プロジェクトのクラスパスにjarを追加すれば、通常のパッケージエクスプローラーを使ってメソッドとプロパティを使ってそのクラスを閲覧することができます。

とにかく、これは良いスタンドアロンJavaツールのための良い考えです

5
Yoni Roit

Jadは気味が悪いともはや維持されていません。私は "Java Decompiler" に切り替えました。これは滑らかなUIと新しい言語機能のサポートを持っています。

私が使用したすべての逆コンパイラは、しかし、それが正常に逆コンパイルされていないコードに実行されます。それらの人にとっては、標準のJDKツール javap によって生成された逆アセンブルされたJavaバイトコードを理解するのに役立ちます。

4
erickson

さて、jarファイルは単なるZipファイルなので、(あなたの好きな解凍ユーティリティを使って)解凍すると、中にあるすべてのファイルが手に入ります。

メソッドを見るためにクラスファイルの中を見たいのであれば、そのためのツールが必要です。 PhiLhoが述べているように、Eclipseは(デフォルトで)それを行うことができます、そして私はほとんどのJava IDEがそれを可能にすると思います。

3
Jeroen Heijmans

Eclipse 3.4では

  1. 問題のjarファイルをJavaプロジェクトにドラッグします。 jarファイルのコピーが表示されます。
  2. Jarファイルを右クリックして、[Build Path] - > [Add to Build Path]を選択します。
  3. Jarファイルは[参照ライブラリ]ノードに移動され、プロジェクトエクスプローラペインで開くことができます。

ソースコードを見ることも問題であるならば、新しい質問を開いてください。

Jarファイルレベル(Zipファイルとして)でのナビゲーションには、7Zipを使用します。これは非常にうまく機能し、エントリを表示および編集できるので、トラブルシューティングに最適です。

あなたがwindowsにいて、powershellを使っていて、jarの中のファイルを探しているなら、あなたはそうすることができます:

jar -tf .\[JAR_NAME] | where {$_ -match "[FILENAME]"}
3
james

これを行う1つの方法は、「パッケージ・エクスプローラー」でパースペクティブを開くことです。こうすることであなたはクラスの詳細であなたのjarファイルの構造を見ることができます。これには、パッケージエクスプローラーを使用してプロジェクトのライブラリフォルダーを確認してください。

ウィンドウ>>ビューを表示>>その他>> Java >>パッケージエクスプローラー

もう1つの方法は、JarPlugをEclipseプラグインとして使用できるということです。これはEclipse/springsourceで動作します

http://jar-plug.sourceforge.net/

3
Ziya
jar -tvf file_name.jar

上記はファイルの名前を表示するだけです。

ファイルの内容を表示するには、次の方法でフォルダー内のファイルを抽出

jar -xvf file_name.jar

これはjarファイルを解凍し、あなたがこれを実行しているのと同じディレクトリにコンテンツを置きます。

またはWindowsでは、.jarファイルの名前を.Zip&に変更してから、解凍してjarファイルの内容を抽出して表示できます。 jarは内部的にはZipファイルです。

2
Anil Kapoor

最近ではほとんどの解凍ユーティリティでそれらを開くことができ、ソースを見たい場合は DJ Java Decompiler のようなものを入手してください。

2
John T

Bndtools はEclipse用の無料のJARビューアプラグインを提供します。

Eclipse更新サイト を追加して、ビューアのみをインストールしてください。

enter image description here

2
aboger

私は JARブラウザ を好む、それはあなたが複数のJARを閲覧し、同時に複数のJARにわたって特定のクラスを検索することができる簡単なインタフェースを持っている。

1
audiodude

Eclipse 3.4 JDT

最初にEclipseにドラッグする必要があるため、これは最も早い方法ではありません。ただし、逆コンパイルが有効になっていても、完全なJavaクラスブラウジングが可能です。

1
Dennis C

私はJava Decomplierがあなたがここからダウンロードできるあなたの最良の選択肢であると思います: http://jd.benow.ca/Preview http://jd.benow.ca/img/screenshot17)。 png

1
Ziad Alzarka

私はWindowsのデフォルトの動作を "WinZipで開く"に設定しました。これにより、JARをアーカイブとして管理することが容易になります。手動でファイルを追加/削除することもできます。

1
Chris Nava

私の要求は、実際にjarファイルを抽出せずに、jarファイル内のファイル(プロパティファイルなど)の内容を表示することでした。誰かが私と同じようにこのスレッドに到達した場合は、このコマンドを試してください -

unzip -p myjar.jar myfile.txt

これは私にとってうまくいった!

1

JarExplorerまたは JarVisualizer を使います。

1
Martin Baeumer

JarSpy を試すことができます。私が使用しているそれのIDEAプラグインバージョンがあります。

0
Dan Dyer
0
Nolesh

Jarファイルの内容を表示および検索するには、 JarNavigator を試してください。

0
Kumaravel

あなたのIDEもこれをサポートするはずです。 My IDE(SlickeEdit)はこれを「タグライブラリ」と呼んでいます。 jarファイルのタグライブラリを追加するだけで、クラスとメソッドを階層的に参照できるようになります。

0
TREE

Java -xf some-j.jarはJARファイルを解凍します。

0
MKatleast3

Macでは Jarzilla があります

0
depsypher