プロジェクトの参照ライブラリにある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クラスを使用するために例外がスローされる理由を誰かが説明できれば、私は非常に感謝しています。私が見る限り、参照ライブラリに表示されているとおりに正しくインポートされています。