gpt4 book ai didi

java - 使用 Eclipse 抽象语法树的运行时错误

转载 作者:搜寻专家 更新时间:2023-10-31 19:58:58 25 4
gpt4 key购买 nike

我正在尝试在非插件环境中使用 AST 解析器。代码编译,但出现以下运行时错误:

线程“main”中的异常 java.lang.NoClassDefFoundError: org/eclipse/core/resources/IResource在 org.eclipse.jdt.core.dom.ASTParser.(ASTParser.java:189)在 org.eclipse.jdt.core.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();
}
}

有人知道为什么会这样吗?

提前致谢

雪莉

最佳答案

我最近遇到了一个类似的问题,我慢慢地逐步修复了一个依赖项,这里是我提出的所需依赖项的列表。我希望这可以为尝试执行相同任务的人节省一些时间:

列表(与下图匹配):

  • 内容类型(org.eclipse.core.contenttype)
  • 工作(org.eclipse.core.jobs)
  • 资源(org.eclipse.core.resources)
  • 运行时(org.eclipse.core.runtime)
  • Equinox Common (org.eclipse.equinox.common)
  • Equinox 首选项 (org.eclipse.equinox.preferences)
  • JDT (org.eclipse.jdt)
  • JDT 核心 (org.eclipse.jdt.core)
  • OSGI (org.eclipse.osgi)
  • OSGI 服务 (org.eclipse.osgi.services)
  • OSGI 实用程序 (org.eclipse.osgi.util)

所有这些 JAR 可能已经包含在您的 Eclipse 插件目录中,您可以通过将它们添加为外部 JAR 来找到它们并将它们添加到构建路径。

enter image description here

关于java - 使用 Eclipse 抽象语法树的运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1903930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com