在weblogic下部署应用时,发生错误:java.lang.NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval()Z 。
上述问题在于Hibernate的包冲突。找到weblogic的安装目录中的modules目录,C:\Oracle\Middleware\modules,里面有两个jar包:javax.persistence_1.0.0.0_1-0-2.jar、javax.persistence_1.0.0.0_2-0-0.jar 。问题就出在这两个jar包。我的解决办法是:把第一个jar包删了,然后把第二个jar包复制一份,改成第一个jar包相同的名字。当然也可以用版本更新的jar包,把这两个jar包都替换掉,但是一定要注意名称跟以前完全一致。
这个问题主要是jar包版本的问题,新版的weblogic应该已经解决了这个问题。这个问题居然调试了两天,这是以前从来没有过的,真是年关难过呀,好在最后问题解决了。调试过程这么费劲,还是记下来吧,希望对别人也有帮助。