1

プロジェクトの参照ライブラリにあるjarファイルからインポートされたクラスを使用しようとして問題が発生しました。

したがって、参照ライブラリにpydev.jarファイルがあるプロジェクトがあります。Pydev.jarにはorg.python.pydev.navigator.elements.PythonNodeが含まれており、これをJavaファイルの1つにインポートしました。これをJavaファイルにインポートして使用してもEclipseはエラーを出しませんが、プロジェクトをEclipseアプリケーションとして実行すると、java.lang.NoClassDefFoundError:org / python / pydev / navigator / elements/PythonNode例外がスローされます。

コードは、以下のようにISelectionをPythonNodeにキャストしようとしています。

IStructuredSelection sel = (IStructuredSelection) 
                                window.getSelectionService().getSelection();

ArrayList<String> testNames = new ArrayList<String>();
Iterator<?> itr = sel.iterator();

String testName = "";
String testSuite = "";

while(itr.hasNext()) {
    PythonNode selectionElement = (PythonNode) itr.next();

    testName = selectionElement.toString();
    testSuite = selectionElement.pythonFile.toString();

    testNames.add(testSuite + "." + testName);
}

実行時にPythonNodeクラスを使用するために例外がスローされる理由を誰かが説明できれば、私は非常に感謝しています。私が見る限り、参照ライブラリに表示されているとおりに正しくインポートされています。

4

1 に答える 1

2

EclipseRCPまたはEclipseプラグインのいずれかを構築していると思います。私は正しいですか?

はいの場合、プラグインの依存関係の下にpydev.jarを配置する必要があります。plugin.xml、Runtimeに移動し、pydev.jarをクラスパスに配置します

于 2011-02-07T15:34:25.180 に答える