生产问题严重困惑:
我继承了一个巨大的(100 万行代码库)Web 应用程序,而我的前任完全搞砸了。
他们认为在 startupWeblogic
脚本中将 WEB-INF/classes
目录添加到 system classpath
中是个好主意而不是将应用程序正确打包在 ear
或 war
文件中,并手动将控制台中的所有路径指向他们自己刚刚设想的各种非标准路径。
现在我的问题是我必须将另一个应用程序安装为正确的 war
文件,该文件使用具有相同包和名称的类,甚至更旧的代码,到相同的 Weblogic 10.3.6 中实例。但正如您可以想象的那样,侵入系统类路径
的内容优先于附加Web应用程序中的所有内容,即使在中设置了
文件。prefer web app lib
首选项>weblogic.xml
注释:
重新打包有问题的应用程序不是我的时间表上的一个选项,它将会完成,但只是不在我必须满足的时间表中。在 Weblogic 的其他实例上运行也不在我的时间表中,我没有时间完成配置过程以及时获取 Assets 。
鉴于此,我怎样才能让这个额外的 web 应用程序正常运行并部署在与侵入系统类路径
的 weblogic 实例相同的 weblogic 实例中。
如果有人能给我一个解决这个问题的答案,我将确保在可能的情况下为此提供巨额赏金,并在事后将其奖励给您。越早回答,赏金就越大!
最佳答案
您是否也尝试过 weblogic-application.xml
中的 prefer-application-packages
?
Weblogic调用Filtering Classloader的机制,链接如下:
http://docs.oracle.com/cd/E15051_01/wls/docs103/programming/classloading.html#wp1097187
http://hasamali.blogspot.in/2011/08/weblogic-identifying-class-conflict-and.html
http://atheek.wordpress.com/2011/12/20/weblogic-filtering-classloaders/
关于java - 旧版安装的应用程序类路径惨败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17386208/