Tips > Eclipse APIのクラスファイルがどのjarファイルにあるか判断するには? |
|
Eclipse APIのクラスファイルがどのjarファイルに含まれているか判断するには?スタンドアローンのアプリケーションを作成するには、必要に応じてEclipse APIが含まれるjarファイルをクラスパスに追加しておかなくてなりません。しかし、pluginsディレクトリにあるjarファイルの名前からは、どのクラスがどのファイルに含まれているかを判断するのは困難です。たとえば、org.eclipse.jface.text.Documentクラスがどのjarファイルに含まれているかを考える場合に、jarファイルの名前からjfacetext.jarとtext.jarと見当がつけられるのですが、どちらに含まれるかは、jarを実際に展開して調べてみなければわかりません。 そこで、Eclipse APIのjarファイルと、そこに含まれるファイル(主にクラスファイル)の対応リストあると便利です。Windowsでは、以下のようなバッチファイルを用意して、jarファイルとそこに含まれるファイルの一覧をファイルに書き出すことができます。 ファイル一覧生成スクリプト: makelist.bat@echo off REM pluginsディレクトリを指定 set PLUGIN_PATH=C:\eclipse-2.1.3\plugins REM pluginsのパスが存在しなければエラーを返して終了 if not exist %PLUGIN_PATH% goto PLUGIN_PATH_ERROR REM 出力先ファイル名が指定されていなければUsageを表示して終了 if x%1==x goto USAGE set OUTPUT_FILE=%1 REM すでに出力先ファイルが存在する場合は消去 if exist %OUTPUT_FILE% del %OUPUT_FILE% REM plugins以下のディレクトリにあるjarファイル、それぞれに含まれるファイルの一覧を REM OUTPUT_FILEに書き出す。 for /F "usebackq" %%f IN (`dir /s/b %PLUGIN_PATH%\*.jar`) do ( jar tvf %%f > tmp_class_list.txt for /F "tokens=8" %%i in (tmp_class_list.txt) do echo [%%f] %%i >> %OUTPUT_FILE% ) del tmp_class_list.txt goto END :USAGE echo Usage: makelist.bat output_file goto END :PLUGIN_PATH_ERROR echo プラグインのパスが存在しません: %PLUGIN_PATH% goto END :END 実行例以下のようにmakelist.batを実行すると、list.txtに一覧が書き出されます。なおスクリプト内の変数PLUGIN_PATHは自分の環境に合うように適宜変更してください。 c:\> makelist.bat list.txt list.txt ・・・省略・・・ [..\org.eclipse.jdt.core_2.1.3\jdtcore.jar] org/eclipse/jdt/internal/core/TypeConverter.class [..\org.eclipse.jdt.core_2.1.3\jdtcore.jar] org/eclipse/jdt/internal/core/TypeVector.class [..\org.eclipse.jdt.core_2.1.3\jdtcore.jar] org/eclipse/jdt/internal/core/Util.class [..\org.eclipse.jdt.core_2.1.3\jdtcore.jar] org/eclipse/jdt/internal/core/Util$Comparable.class [..\org.eclipse.jdt.core_2.1.3\jdtcore.jar] org/eclipse/jdt/internal/core/Util$1.class ・・・省略・・・ 出力されたファイルは、下のようなフォーマットで生成されます。 [jarファイル] jarに含まれるファイル この一覧をテキストエディタで検索したり、findコマンドを使えばクラスファイルの居場所を突き止めることができます。たとえば、org.eclipse.jface.text.Documentクラスがどのjarファイルに含まれているかを調べるには、 c:\> find "org/eclipse/jface/text/Document.class" list.txt ---------- LIST.TXT [C:\eclipse\plugins\org.eclipse.text_2.1.0\text.jar] org/eclipse/jface/text/Document.class と表示されるので、text.jarに含まれているのが分かります。 参考リンク最新更新日: 2005年5月9日 |
- PR -
★ フルーツメール【毎日懸賞】好評実施中!デジカメや金券が当たる! ★ 毎日懸賞 |
||||
|
|||||
Copyright(C) 2003,2004 Jasmin Project. All Right Reserved. |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||