web-dev-qa-db-ja.com

Java:クラス名を指定して使用するjarファイルを知るにはどうすればよいですか?

たとえば、クラス org.Eclipse.ui.views.navigator.ResourceNavigator を指定した場合、どのjarファイルを使用するかをどのようにして見つけますか?私はそれがorg.Eclipse.ui.ideにあることを知っていますが、どうやってそれを見つけるのですか?

編集:回答してくださった皆様、ありがとうございました。多くのことと同様に、この猫の皮をむく方法はいくつかあるようです。 javadocにこの情報が含まれているといいのですが。これまでのところ、さまざまな方法があります。

  1. インターネット、EclipseまたはNetBeansがない場合:

    for f in `find . -name '*.jar'`;  do echo $f && jar tvf $f | grep -i $1; done
    
  2. Eclipseを使用してローカルで調べたい場合:

  3. インターネットから調べたい場合、またはまだjarファイルを持っていない場合:

21
Eugene Yokota

次のEclipseプラグインもあります: jarclassfinder

ユーザーは、見つからないクラスの名前(またはJavaプロジェクトがアクセスする必要のあるクラスの名前)を入力します。プラグインは、選択したディレクトリ(およびサブディレクトリ)でJARを検索しますそのクラスを含むファイル。

すべての結果は、カスタムビューのテーブルに表示されます。次に、ユーザーはこのテーブルを参照し、JARファイルを選択してJavaプロジェクトのビルドパスに追加します。次に、テーブルのエントリを右クリックし、コンテキストメニューから、追加先のビルドパス。


2013年の更新、「 。jarファイルEclipseの検索 」で言及したように、これはもう保守されておらず、代替案はまばらです。

sunleo コメント

Eclipseの場合、 Ctfl+Shift+T 型を探す最も簡単な代替手段のままです
(ステータスバーにjar名が表示されます)。


ser862268 コメント

Macの場合、 cmd+shift+T Eclipseでクラスと関連するjarを検索します。

17
VonC

クラスパス/プロジェクトパスにjarがある場合は、CTRL-SHIFT-Tを押して名前を入力すると、jarが下部に表示されます。

ビルドパスにクラスがない場合は、a)すべてのjarを含むダミープロジェクトをまとめますb)IBM Alphaworksからjarを検索するプラグインがあると思います(ただし、古いかもしれません)

20
pkliem

eclipse IDEでCtrl + Shift + Tに移動します

クラス名を入力する[タイプを開く]ダイアログが表示されます。その後、パッケージ識別子とjar宛先が表示されます。

11
arvindwill

質問に答えるために、どのjarを使用するかを知る実際の方法はありません。バージョンによって動作が異なる可能性があります。

特定のクラスを含むjarを見つけることになると、私は使用します。

for f in `find . -name '*.jar'`;  do echo $f && jar tvf $f | grep -i $1; done

これにより、サブフォルダーのパラメーターとして渡されたクラス名を含むすべてのjarが強調表示されます。

クラスを見つける別の良い方法は maven repos search を使用することです。

8
user28791

私にとってこれはうまくいきます:

find * -type f -name '*.jar' -exec grep -l 'TestClass.class' '{}' \;

よろしく

5
user2039378

これを使用: netbeans plugin

または jarFinder service

3
iberck
**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であることを示しています

3
user1039322

私は FindJar.com を使用します。特定のクラスを含むすべての既知のパッケージをリストします!それは信じられないほど役に立ちます。

2
Kieveli

クラス/ JARロケーターを使用します。

http://classlocator.sourceforge.net/

[編集] ClassLocatorのドキュメント(!)からも明らかではありませんが、Eclipseプラグインのようです。

2
Yuval Adam

Intellij IDEAでは、クラス名をctrlクリックするだけで、そのクラスの疑似ソースコードに移動し、ウィンドウのタイトルはc:\ path\to\libのようになります。 jar!\ com\something\ClassName.class

1
Pavel Feldman

通常、私はjar -vtf foo.jarすべてのクラスファイルのリストを取得します。
最も実用的な方法ではありませんが、便利です。もちろん、結果をgrepと組み合わせることができます。

1
PhiLho

eclipseに宣言(F3)または実装(ナビゲート->実装を開く)を開くように指示し、編集不可能な編集ウィンドウにポップした場合、エディターウィンドウを右クリックしてjarファイルへのパスを表示し、 「パンくずリストに表示」

私のUnixベースの検索:

find . -name "*.jar" -print -exec jar -tf {} \; >outputfile

(grepの代わりに)出力ファイルを編集して必要なものを見つけます

1

質問を本当に理解しているのかわかりませんが、クラスが本当にjarにあることを確認したい場合は、jar自体をいつでも確認できます。そのため、Eclipseプラグインや特別なものは必要ありません。外部アプリケーション。

JAR(Java ARchive)ファイルはZipファイルにすぎません。 jarファイルを解凍するか、Zip読み取りアプリケーションを使用して表示するだけです。たとえば、Windows XPでは、これはオペレーティングシステムに組み込まれています。なんて都合のいい。

これがお役に立てば幸い...

Yuval = 8-)

0
Yuval
0
Ralkie

CTRL-SHIFT-TはすでにEclipseに含まれているため、投票します。実際にEclipseインストール内のプラグインディレクトリにjarclassfinder.jarをドロップしましたが、Eclipse GUIでプラグインが見つかりませんでした

0
amphibient

http://javacio.us/ も確認してください。

0
Adi

Jarvana を試して、特定のクラスのjarファイルを見つけることもできます。

0
winwin