我正在尝试在非插件环境中使用AST解析器.代码编译,但我得到以下运行时错误:
org.eclipse.jdt.core中org.eclipse.jdt.core.dom.ASTParser.(ASTParser.java:189)中的线程"main"java.lang.NoClassDefFoundError: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();
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样?
提前致谢,
雪莉
当您启动应用程序时,该类IResource不在您的类路径中。
如果您不使用 Eclipse(或其他工具)来管理依赖项,则必须跟踪抽象语法树类所需的每个 jar 文件,并手动将它们包含在类路径中。我不确定具体有多少,但 Eclipse 由数十个插件组成,手动计算构建依赖项将是一件苦差事。
编辑:要将 IResorce 添加到类路径,您要查找的特定 jar 文件将被称为类似 的名称org.eclipse.core.resources_3.5.0.v20090512.jar,具体取决于您的 Eclipse 版本。但我不认为这将是您唯一需要的......
| 归档时间: |
|
| 查看次数: |
1563 次 |
| 最近记录: |