[英]Runtime error using the Eclipse Abstract Syntax Tree
我正在嘗試在非插件環境中使用AST解析器。 代碼可以編譯,但是出現以下運行時錯誤:
線程“主”中的異常java.lang.NoClassDefFoundError:org.eclipse.jdt.core.dom.ASTParser。(ASTParser.java:189)上的org / eclipse / core / resources / IResource。 dom.ASTParser.newParser(ASTParser.java:118)
這是我正在運行的代碼:
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.core.dom.*;
public class TestAST
{
private void runTest()
{
String helloStr ="\n"+
"public class HelloWorld {\n"+
"\n"+
" private String name=\"\"\n\n"+
" /**\n"+
" * \n"+
" */\n"+
" public void sayHello() {\n"+
" System.out.println(\"Hello \"+name+\"!\");\n"+
" }\n"+
"\n"+
"}";
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setSource(helloStr.toCharArray());
parser.setResolveBindings(true);
ASTNode tree = parser.createAST(null);
tree.toString();
}
public static void main(String args[])
{
TestAST ast = new TestAST();
ast.runTest();
}
}
有人知道為什么會這樣嗎?
提前致謝,
雪莉
啟動應用程序時, IResource
類不在您的類路徑中。
如果您不使用Eclipse(或其他工具)來管理依賴關系,則必須跟蹤Abstract Syntax Tree類所需的每個jar文件,並將它們手動包含在類路徑中。 我不確定到底有多少,但是Eclipse是由許多插件組成的,手動計算構建依賴關系會很麻煩。
編輯:要將IResorce添加到類路徑,您要查找的特定jar文件將稱為org.eclipse.core.resources_3.5.0.v20090512.jar
之類的文件,具體取決於您的Eclipse版本。 但我認為這不是您唯一需要的一個...
我最近遇到了一個類似的問題,我慢慢地逐步解決了一個依賴項,這是我提出的必需依賴項列表。 我希望這可以為嘗試執行相同任務的人員節省一些時間:
列表(與下面的圖片匹配):
所有這些JAR可能已經包含在您的Eclipse插件目錄中,您可以通過將它們添加為外部JAR來查找並將它們添加到構建路徑中。
我有同樣的問題。 我解決了將罐子添加到plugin.xml所需的依賴項中的問題。 您可以在plugin.xml文件的Dependencies標簽中找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.