私たちが常に直面している問題のXNUMXつ ソフトウェア開発者 それは無秩序なことであり、プログラムのさまざまなバージョンのテストを開始すると(たとえば、プログラム内の一部の機能を変更する場合)、システム全体にファイルを分散させるのは非常に簡単です。 そして同じことが起こります ソースコードファイル、異なるクラスをホストできるため、それぞれがどのクラスに属することができるかを見つけるのは困難です。
の場合 Java、最も一般的なのは 特定のJavaクラスが属するJARファイルを見つける の典型的な問題を解決するために 'NoClassDefFoundError' 幸いなことに、以下に示すようにそれほど複雑ではありません。 しかしその前にそれを説明します JARは基本的に圧縮ファイルです、それらを調べることができるような方法で、代替案はそれらを解凍するか、それらの内部を「見る」ことを可能にする代替案を探すことです。
このために、抵抗と呼ばれるファイルを確認すると仮定して、次のことを実行できます(抵抗の値を計算するために作成した非常に単純なアプリからのものです)が、もちろん、それぞれの場合に置き換えられますレビューするファイルの名前:
$ jartvfresistor.jar
結果は、この投稿に付随する上の画像で視覚化したものになります。 特定のJARを構成するすべてのファイルを表示、もちろん、その中には、アプリケーションのクラスを構成する有名な.classがあります。これを使用して、探しているクラスを含むファイルがどれであるかが最終的にわかります。
Linuxの場合、ターミナルから何かを行う方法は常にありますが、多くのユーザーにとっては、システムに追加のソフトウェアをインストールすることを意味する場合でも、グラフィカルアプリケーションから行う方が実用的です。 彼らのために私たちはと呼ばれるプログラムを持っています jar-explorerを使用すると、JARファイルを探索してすべてのコンテンツを表示できます。優れた点は、Javaクラスの再帰検索を提供する統合検索ツールがあることです。.
もちろん、で開発されたアプリケーションです。 Java、それをインストールするには Ubuntu 実行します:
$wget http://jar-explorer.googlecode.com/files/jarexplorer-0.7-BETA.jar
$ java -jarjarexplorer-0.7-BETA.jar
さて、アプリケーションが起動したら、私たちがしなければならないことは、のオプションに行くことです ファイル->ルートディレクトリまたはJarファイルを検索、JARファイルがあるディレクトリを選択します。 セクションにすべてのファイルのリストが表示されます 「jarファイルリスト」、そして私たちがしなければならないのは、探しているクラスの名前を入力することだけです。これは、の右側にあるテキストフィールドに入力します。 「検索するクラスを入力してください」画面の上部にあります。 最後に、ボタンをクリックします '開始' 検索を開始します。これには数秒しかかかりません。
しかし ジャーエクスプローラー 私たちにとって非常に役立つ機能がもうXNUMXつあります。 Javaの各クラス定義の内容を調べることができます。これは、クラス名をクリックするだけで実現できます。 (以前の検索結果から)。
ご覧のとおり、これらはXNUMXつの異なる方法ですが、JARファイルからJavaクラスを検索するための完全に有効なアプローチです。開発者が複数回失敗するタスクであり、面倒で複雑な作業である必要はありません。