如何解决Hibernate中The 的错误type java.lang.AutoCloseable cannot be resovled.It is indirectly referenced

本文介绍了解决在使用Hibernate框架时遇到的与JRE版本不兼容的问题,通过调整项目使用的JRE版本,从Sun JDK 1.6升级至JRE 1.8,解决了Session.get()方法的调用问题。同时,为确保兼容性,重新添加了JRE 1.6版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

试着用Hibernate框架实现对数据库中表的数据进行简单的增删改查。

出现问题

 

解决方法:在包资源管理器中看到该工程用到的JRE System Library是Sun JDK1.6版本的, 该版本可能不支持Session.get(),我们再次基础上再构建路径添加JRE System Library1.8版本。

 

点击Add Libraries,在新弹出的对话框中选择JRE System Library

 

在新弹出的对话框中选择Alternate JRE,再选择添加更高版本的JRE Library(我电脑中安装的是JDK1.8)。选择更高版本后,惦记 finish就可以成功地将JRE System Library1.8添加到工程中。

同时,若在包资源管理器中看到该工程用到的JRE System Library只有1.8版本的, 该版本可能出现不向下兼容现象,因次,我们可以用同样的方法再将JRE System Library1.6通过构建路径的Add Libtrary 的方式添加进来。如下:

 

点击Add Libraries,在新弹出的对话框中选择JRE System Library

在新弹出的对话框中选择工作空间默认的JRE(Workspace default JRE)

 

选择好工作空间默认的JRE后点击finish,编译时候的错误就可以解决。

 

 

当出现以下情况时:

 

我们可以现将现有的JRE System Library先从构建路径中移除,再冲为其构建JRE System 或者JRE System Library1.6或者两者均重新添加后就可以解决包声明时出现的The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值