gpt4 book ai didi

java - Eclipse JDT 类 ASTVisitor 未找到

转载 作者:行者123 更新时间:2023-12-01 11:57:03 25 4
gpt4 key购买 nike

考虑以下代码:

// App.java
import org.eclipse.jdt.core.dom.ASTVisitor;
import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
import org.eclipse.jdt.core.dom.SimpleName;

public class App
{
public static void main(String[] args)
{
ASTVisitor visitor = new ASTVisitor()
{
public boolean visit(VariableDeclarationFragment node)
{
return false;
}
public boolean visit(SimpleName node)
{
return false;
}
};
}
}

编译成功:

$ javac -cp org.eclipse.jdt.core.jar App.java

org.eclipse.jdt.core.jar是从最新版本的Eclipse复制的。运行该程序时:

$ java App -cp org.eclipse.jdt.core.jar

我收到以下运行时错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jdt/core/dom/ASTVisitor
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
...

实际上,这是另一个测试程序的精简版本,其中依赖项是使用 Maven 管理的,并给出了相同的错误。在寻找解决方案时,我发现提示这可能与缺少依赖项或未按正确顺序加载依赖项有关。但是,我不明白这是怎么发生的。检查我得到的用过的 jar :

$ jar tf org.eclipse.jdt.core.jar | grep ASTVisitor
org/eclipse/jdt/core/dom/DefaultASTVisitor.class
org/eclipse/jdt/core/dom/ASTVisitor.class
org/eclipse/jdt/internal/compiler/ASTVisitor.class

所以实际的类确实存在。除此之外,我尝试加载一堆相关的类,如 this link 的建议。 ,然后我再次尝试加载 Eclipse 安装附带的所有 JDT 类,但不幸的是没有结果。

问题可能是什么?我还能采取什么措施来找出问题所在?

非常感谢。

最佳答案

必须在“java”命令上运行的类之前指定“-cp”选项:

java -cp org.eclipse.jdt.core.jar App

您在类名后面放置的任何内容都将作为参数传递给程序。

关于java - Eclipse JDT 类 ASTVisitor 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370274/

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