myeclipse报错“java.lang.NoSuchFieldError: INSTANCE” 以及 myeclipse项目名上有感叹号...

今天在调试别人写的一个,使用了hibernate的java web项目时,运行发现报错“java.lang.NoSuchFieldError: INSTANCE”

检查发现数据库什么的都没有问题,包也都有。(hibernate开发八个必须的包:hibernate3.jar,cglib-asm.jar,dom4j.jar,odmg.jar,commons-collections.jar,commons-beanutils.jar,commons-lang.jar,commons-logging.jar

有大神说是配置文件里的class里的属性名拼写错误了,即映射文件里边的映射列名与数据库中的列名不匹配导致的,但实际上我的配置文件也没有问题。。。。

最后发现是包有冲突了。。。这个包hibernate3.jar,里面已经包含‍annotations相关包,与老版本冲突。
而项目中重复引用了 hibernate-annotations.jar 和 hibernate-commons-annotations.jar,所以只要删掉hibernate-annotations.jar 和 hibernate-commons-annotations.jar即可。


但是,但是,好像问题就这么结束了,但是我在项目里删掉了这俩包以后,项目名称上出现了一个显眼的小红感叹号!!!不管它继续运行项目,结果就报错了啊…………这个感叹号一定在捣怪

查阅资料发现,小感叹号的出现时因为项目中包括了要引用的包的信息(包括刚刚删掉的俩包的信息),但是刚刚那俩包被我删了,myeclipse就觉得要出问题了。。。。。而配置信息就是这个.classpath 配置文件。

让我们代表月亮消灭这个感叹号!!!右键单击你的web工程,找到 Build Path > Configure Build Paht... > 然后上面有几个选项卡找到 Libraries。 这里看到的就是你工程里面引用的所有的 jar ,看是不是在某个jar图标上有个很小的黄色的感叹号?
如果有的话就没错了, 先选中这个jar, 点击右边的 Remove > 点击OK ,耶,成功啦~~~~~(*^__^*)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值