一位开发人员解决了Hibernate 3和WAS7.5的一个问题,其中WAS7.5显然使用了hibernate jpa桥的旧版本。开发人员将jpa2.0jar放在ext文件夹中,让WAS2将其加载到引导类加载器中,因此使用了更新的版本。这实际上是可行的,但“感觉不对劲”。
我们最近在一些应用程序上升级到Hibernate 4,并在2.1上做了同样的事情。现在我们正在迁移到WAS8.5.5,它显然需要同样的处理。它似乎已经更新为使用2.0,因为这些应用程序正在运行,但是Hibernate 4应用程序需要2.1,并且ext文件夹技巧突然停止工作。
所以这是一个很好的时机来重新审视这个问题并问,解决这个问题的“正确”方法是什么?或者,如果你不知道“正确”的方法,我该如何做相当于was 8.5.5中的ext文件夹技巧?
如果你好奇,确切的错误是:
java. lang.NoClassDefFoundError:javax.持久化.属性转换器
(你提到的问题是7.5。没有这样的版本)
好的,就这样。如果有解决此类问题的正确方法,那么将JAR添加到WebSphere的ext
目录中肯定不是。WebSphere为您提供了将第三方库添加到运行时的其他工具;不要使用ext
目录。事实上,如果您想确保更好的可运维性(例如修复包的正确实现等),请不要使用整个WebSphere安装目录。
根据我的经验,最好的行动方案是:
/lib
目录)。PARENT_LAST
。