Java无法访问类,找不到类文件

新手上路,请多包涵

当我尝试在 IntelliJ 中创建项目时,我在这一行收到以下错误:

 Sentence sent = new Sentence();
 sent.emptySegments();

错误:

 Error:(151, 10) java: cannot access javax.xml.bind.RootElement
class file for javax.xml.bind.RootElement not found

Sentence 是一个实现 RootElement 接口 的类

import javax.xml.bind.RootElement;
...
public class Sentence extends MarshallableRootElement implements RootElement   {

所有包都存在,我可以跳转到每个接口或类的声明,但我不知道为什么 IntellJ 说它无法访问或找到它们?但是 RootElement 是一个接口而不是一个类

public interface RootElement extends Element {
    void validate() throws StructureValidationException;
}

上面的声明在一个名为 jaxb-rt-1.0-ea.jar 的 jar 文件中,它存在于项目图书馆员中。

原文由 Ahmad 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

该项目包含几个模块。虽然该库已添加到项目库中,但某些模块在其依赖部分中缺少它。所以我在 IntelliJ 中使用以下步骤解决了这个问题

创建模块库并将其添加到模块依赖项中:

  1. 打开项目结构对话框(例如 Ctrl+Shift+Alt+S)。
  2. 在对话框的左侧窗格中,选择“模块”。
  3. 在右侧的窗格中,选择感兴趣的模块。
  4. 在对话框右侧的 Module 页面上,选择 Dependencies 选项卡。
  5. 在 Dependencies 选项卡上,单击 +(在右上角)并选择 Jars or directories。
  6. 在打开的对话框中,选择必要的文件和文件夹。这些可能是单独的 .class 和 .java 文件、目录和档案

(.jar 和 .zip)包含此类文件以及目录

Java 本机库(.dll、.so 或 .jnilib)。 7. 单击确定。如有必要,选择导出选项并更改依赖范围。 8. 在“项目结构”对话框中单击“确定”。

原文由 Ahmad 发布,翻译遵循 CC BY-SA 3.0 许可协议

尝试这个

  1. 转到文件
  2. 使缓存无效/重新启动
  3. 您只能选择 Invalidate and restart

(请参阅 IntelliJ 手册上的 _无效缓存_)

原文由 Meena Chaudhary 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题