4

Reflections ライブラリを Eclipse Java プロジェクトに追加して、必要に応じて使用しようとしています。問題は、reflections-0.9.9-uberjar.jar をプロジェクトの lib フォルダーとビルド パス (実際には [参照ライブラリ] の下にも表示されます) に追加したにもかかわらず、ビルダーが認識しないように見えることです。たとえば、次の行でエラーが発生します。

Reflections reflections = new Reflections("net.iberdroid.gameserver.cmds");

"Reflections cannot be resolved to a type"

org.reflections をインポートしようとすると、どちらも解決できないと表示されます。

何か案は?

事前にどうもありがとう、

4

2 に答える 2

6

手っ取り早い方法は、reflections-0.9.9-uberjar.jar を開き、その中のすべての jar ファイルを lib フォルダーに抽出することです。次に、それらの jar をビルド パスに追加します。

より正しい方法は、プロジェクトを Maven プロジェクトとしてセットアップし、そこにすべての依存関係をセットアップすることです。uberjar の META-INF フォルダー内を見てください。

于 2012-07-21T12:44:57.103 に答える
2

クラスをインポートできます:

import org.reflections.Reflections;

またはパッケージ内のすべてのクラス:

import org.reflections.*;

ただし、パッケージをインポートすることはできません:

import org.reflections; // looks for a class named "reflections" in the package "org"

Eclipse のような IDE では、IDE が自動的にインポートするため、ほとんど何もインポートしないことに注意してください。「Refl」と入力してから Ctrl-space を入力すると、Eclipse がReflectionsインポートの使用と追加を提案します。または、インポートせずに「Reflections」を使用してから Ctrl-Shift-O を押すと、Eclipse は必要なすべてのインポートを追加し、不要なものを削除して、インポートを整理します。

編集:

Reflections-0.9.9-uberjar.jar ファイルは Java ライブラリ (クラスを含む jar) ではありません。これは、他の jar を含む jar です (したがって、混乱を避けるために zip ファイルにする必要があります)。jar を解凍し、そこに含まれるすべてのライブラリをビルド パスに配置する必要があります。

于 2012-07-21T12:28:05.643 に答える