使用Eclipse 2020-03版本,在添加 "ojdbc-12.1.0.2.0.jar "作为其中一个与ORACLe有依赖关系的项目的类路径后,在构建过程中遇到以下错误。
BuiltinClassLoader不能被解析为一个类型。
该类在一个项目中被用于从特定文件夹中加载特定格式的jar文件。
你的问题有一些比较奇怪的地方。
该类 jdk.internal.loader.BuiltinClassLoader
是Java 9中增加的一个内部类。
然而,根据 Oracle 12.1.0.2 JDBC驱动下载 页面。
ojdbc6.jar
和 ojdbc7.jar
不 ojdbc-12.1.0.2.0.jar
.ojdbc7.jar
后面的那个)已经通过了Java 7和Java 8的认证。 这意味着它 不该 在Java 9中添加的类上有任何依赖性。所以... 我有几个理论。
你有一个来源可疑的JDBC JAR文件。 取决于你从哪里得到它,它可能包含某种恶意软件。 我建议从Oracle网站上下载驱动程序;见上文。
你有一个真正的Oracle JDBC驱动(ojdbc6.jar或ojdbc7.jar),但有人给它重命名了。 如果是这样,就会出现无法解决的类名错误。不能 驱动程序JAR文件引起的。 实际上,它可能存在于您的代码中,或者您正在使用的其他库中。
javap ... | grep BuiltinClassLoader
在...上 .class
文件,看看你是否能发现负责的类JAR。无论是你的代码还是第三方代码,都不应该依赖于该类的 BuiltinClassLoader
类定义的 jdk.internal.loader
. 它是一个内部类。
无法解决的 BuiltinClassLoader
类有一个不同的包名。 搜索你的代码和上面的JARs。