java.lang.NoSuchMethodError: javax.persistence.OneToOne.orphanRemoval()Z出错解决
今天整合最新的struts2.3.15.1+spring3.2.3+hibernate4.2.3
用的是weblogic,忘记什么版本,总之10以上
结果使用注解方式配置一对一映射的时候,发布项目报错。
出错显示如下:
?
以javax.persistence.OneToMany为例,我的项目在Windows+Tomcat上,
System.out.println(Class.forName( "javax.persistence.OneToMany" ).getProtectionDomain().getCodeSource().getLocation().getFile());
信息的内容大致如:
D:/apache-tomcat-6.0.32/webapps/*****/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar
通过以上方法,可以快速的想要定位的类是否正确加载。
PS:上面的方法不要对外暴露,否则能够泄露服务器的路径信息。?上面写到,什么类出错,可以让控制台输出这个类所在的目录,于是就可以找到问题所在了。
这种解决方法特别适合NoSuchMethodError和包冲突的情况。
于是我找到了在我的D盘目录:D:\oracle\Middleware\modules
下面一大堆jar包库。。。
我把MyEclipse的JavaEE6的javax.persistence.jar包复制过去,然后全部替换javax.persistence*.jar文件(一定要跟原来这个目录的文件名一样),再次启动项目,无错,正确运行。。。果然解决掉!
?
还真是非常感谢http://www.uroot.com/archives/389的博主。
正所谓授人与鱼不如授人与渔!
我的异常网推荐解决方案:org.springframework.beans.factory.BeanCreationException:,http://www.myexception.cn/j2ee/10759.html