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里的属性名拼写错误了,即映射文件里边的映射列名与数据库中的列名不匹配导致的,但实际上我的配置文件也没有问题。。。。
最后发现是包有冲突了。。。这个包
查阅资料发现,小感叹号的出现时因为项目中包括了要引用的包的信息(包括刚刚删掉的俩包的信息),但是刚刚那俩包被我删了,myeclipse就觉得要出问题了。。。。。而配置信息就是这个.classpath 配置文件。
让我们代表月亮消灭这个感叹号!!!右键单击你的web工程,找到 Build Path > Configure Build Paht... > 然后上面有几个选项卡找到 Libraries。 这里看到的就是你工程里面引用的所有的 jar ,看是不是在某个jar图标上有个很小的黄色的感叹号?
如果有的话就没错了, 先选中这个jar, 点击右边的 Remove > 点击OK ,耶,成功啦~~~~~(*^__^*)