我的 Java 项目中的代码没有从引用的库中找到导入

问题描述

我正在编写一个项目,该项目使用由不同程序生成的两个类。我复制了代码并将其粘贴到两个空的 Java 类中。这些类从我添加到项目构建路径的 weka.jar 文件中导入各种类,但所有导入行都出现“无法解析导入 X”错误(X 是导入的类)。

我有两个版本的项目:

  • weka.jar 位于“lib”文件夹中的一个(与包含两个类的“src”文件夹处于同一级别),我在 eclipse 的包导航器中右键单击并选择了 Build Path->Add建立路径
  • 一个我在项目上右击并选择Build Path->Add External Archives,然后根据提示导航到weka.jar文件(在其原始位置,Weka软件的程序文件)并选择它。

我过去曾成功完成此操作,但我不确定为什么现在不起作用?

解决方法

回答我自己的问题,因为我找到了答案:我的 jar 文件位于 Windows 显然限制访问的用户文件夹 (C:\Users[myname]) 中。我将它移到 C 驱动器中并且导入工作了 :)

我仍然收到错误

java.lang.reflect.InaccessibleObjectException:无法制作 受保护的最终 java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,java.security.ProtectionDomain) 抛出 java.lang.ClassFormatError 可访问:模块 java.base 做 不是“打开 java.lang”到模块 weka

在多个地方

java.base/java.lang.reflect weka/weka.core.WekaPackageClassLoaderManager weka/weka.core.ResourceUtils weka/weka.classifiers.trees.J48

还有一次在我自己的代码中。

我也有多个警告(可能是错误的原因),但我的程序按原样运行(禁止错误消息输出)。