我继承了一个庞大的(100万行代码库)Web应用程序,我的前辈们完全搞砸了。
他们认为在WEB-INF/classes
脚本中添加system classpath
startupWeblogic
目录而不是在ear
中正确打包应用程序是个好主意或war
文件,并手动将控制台中的所有路径指向他们自己设想的各种非标准路径。
现在我的问题是我必须安装另一个应用程序作为一个正确的war
文件,该文件使用具有相同软件包和名称的类,甚至更旧的代码,进入相同的 Weblogic 10.3.6 实例。但正如您可以想象的那样,被system classpath
入侵的内容优先于其他网络应用中的所有内容,即使在prefer web app lib
文件中设置了weblogic.xml
偏好设置。
重新打包违规应用程序不是我的时间轴上的一个选项,它将会完成,但不是在我必须遇到的时间轴。在其他Weblogic实例上运行也不在我的时间表中,我没有时间完成配置过程以及时获取资产。
鉴于此,我怎样才能让这个额外的webapp好玩,并在同一个weblogic实例中部署,而不是攻击system classpath
。
如果有人能给我一个解决这个问题的答案,那么当我能够在事后给你奖励时,我会确保给你一个巨大的赏金。答案越快,赏金就越大!
答案 0 :(得分:1)
您是否也在prefer-application-packages
内尝试了weblogic-application.xml
?
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/