たとえば、クラス org.Eclipse.ui.views.navigator.ResourceNavigator を指定した場合、どのjarファイルを使用するかをどのようにして見つけますか?私はそれがorg.Eclipse.ui.ideにあることを知っていますが、どうやってそれを見つけるのですか?
編集:回答してくださった皆様、ありがとうございました。多くのことと同様に、この猫の皮をむく方法はいくつかあるようです。 javadocにこの情報が含まれているといいのですが。これまでのところ、さまざまな方法があります。
インターネット、EclipseまたはNetBeansがない場合:
for f in `find . -name '*.jar'`; do echo $f && jar tvf $f | grep -i $1; done
Eclipseを使用してローカルで調べたい場合:
インターネットから調べたい場合、またはまだjarファイルを持っていない場合:
次のEclipseプラグインもあります: jarclassfinder
ユーザーは、見つからないクラスの名前(またはJavaプロジェクトがアクセスする必要のあるクラスの名前)を入力します。プラグインは、選択したディレクトリ(およびサブディレクトリ)でJARを検索しますそのクラスを含むファイル。
すべての結果は、カスタムビューのテーブルに表示されます。次に、ユーザーはこのテーブルを参照し、JARファイルを選択してJavaプロジェクトのビルドパスに追加します。次に、テーブルのエントリを右クリックし、コンテキストメニューから、追加先のビルドパス。
2013年の更新、「 。jarファイルEclipseの検索 」で言及したように、これはもう保守されておらず、代替案はまばらです。
Eclipseの場合、 Ctfl+Shift+T 型を探す最も簡単な代替手段のままです
(ステータスバーにjar名が表示されます)。
Macの場合、 cmd+shift+T Eclipseでクラスと関連するjarを検索します。
クラスパス/プロジェクトパスにjarがある場合は、CTRL-SHIFT-Tを押して名前を入力すると、jarが下部に表示されます。
ビルドパスにクラスがない場合は、a)すべてのjarを含むダミープロジェクトをまとめますb)IBM Alphaworksからjarを検索するプラグインがあると思います(ただし、古いかもしれません)
eclipse IDEでCtrl + Shift + Tに移動します
クラス名を入力する[タイプを開く]ダイアログが表示されます。その後、パッケージ識別子とjar宛先が表示されます。
質問に答えるために、どのjarを使用するかを知る実際の方法はありません。バージョンによって動作が異なる可能性があります。
特定のクラスを含むjarを見つけることになると、私は使用します。
for f in `find . -name '*.jar'`; do echo $f && jar tvf $f | grep -i $1; done
これにより、サブフォルダーのパラメーターとして渡されたクラス名を含むすべてのjarが強調表示されます。
クラスを見つける別の良い方法は maven repos search を使用することです。
私にとってこれはうまくいきます:
find * -type f -name '*.jar' -exec grep -l 'TestClass.class' '{}' \;
よろしく
これを使用: netbeans plugin
または jarFinder service
**Shell> find . -name "*.jar" | xargs -i -t \jar tvf {} | grep [TheClassNameYouAreLookingFor]**
たとえば、Apache commons jarのリストでクラスLogFactory.classを探している場合、以下のコマンドは機能します
Shell> find Apache-commons/ -name "*.jar" | xargs -i -t \jar tvf {} | grep LogFactory.class
jar tvf Apache-commons/commons-beanutils-1.7.0.jar
jar tvf Apache-commons/commons-fileupload-1.2.1.jar
jar tvf Apache-commons/commons-lang-2.3.jar
**jar tvf Apache-commons/commons-logging-1.1.jar**
**21140 Tue May 09 23:08:12 EDT 2006 org/Apache/commons/logging/LogFactory.class**
jar tvf Apache-commons/commons-net-1.3.0.jar
上記の結果は、一致がcommons-logging-1.1.jarであることを示しています
私は FindJar.com を使用します。特定のクラスを含むすべての既知のパッケージをリストします!それは信じられないほど役に立ちます。
クラス/ JARロケーターを使用します。
http://classlocator.sourceforge.net/
[編集] ClassLocatorのドキュメント(!)からも明らかではありませんが、Eclipseプラグインのようです。
Intellij IDEAでは、クラス名をctrlクリックするだけで、そのクラスの疑似ソースコードに移動し、ウィンドウのタイトルはc:\ path\to\libのようになります。 jar!\ com\something\ClassName.class
通常、私はjar -vtf foo.jar
すべてのクラスファイルのリストを取得します。
最も実用的な方法ではありませんが、便利です。もちろん、結果をgrepと組み合わせることができます。
eclipseに宣言(F3)または実装(ナビゲート->実装を開く)を開くように指示し、編集不可能な編集ウィンドウにポップした場合、エディターウィンドウを右クリックしてjarファイルへのパスを表示し、 「パンくずリストに表示」
私のUnixベースの検索:
find . -name "*.jar" -print -exec jar -tf {} \; >outputfile
(grepの代わりに)出力ファイルを編集して必要なものを見つけます
質問を本当に理解しているのかわかりませんが、クラスが本当にjarにあることを確認したい場合は、jar自体をいつでも確認できます。そのため、Eclipseプラグインや特別なものは必要ありません。外部アプリケーション。
JAR(Java ARchive)ファイルはZipファイルにすぎません。 jarファイルを解凍するか、Zip読み取りアプリケーションを使用して表示するだけです。たとえば、Windows XPでは、これはオペレーティングシステムに組み込まれています。なんて都合のいい。
これがお役に立てば幸い...
Yuval = 8-)
CTRL-SHIFT-TはすでにEclipseに含まれているため、投票します。実際にEclipseインストール内のプラグインディレクトリにjarclassfinder.jarをドロップしましたが、Eclipse GUIでプラグインが見つかりませんでした
http://javacio.us/ も確認してください。
Jarvana を試して、特定のクラスのjarファイルを見つけることもできます。