我将在引导区(startWeblogicServer.bat)类路径中定义了许多jar的WebLogic节点中部署EAR.问题是我的耳朵和引导程序包含同一jar的不同版本,不仅是,某些jar包含提取的第三方库,这些第三方库的版本也不同于导致各种类路径错误的WebLogic引导jar.
我知道您可以在EAR应用程序xml中设置首选的jar,但是就了解包括所有依赖项在内的包含提取的第三方库的jar而言,这可能非常繁琐.
我需要在这里采取正确的方法吗?我是在以错误的方式思考吗?任何帮助将不胜感激!
到目前为止,已经推荐了preferred-web-inf-classs,但由于我没有部署WAR而无法使用,我们目前正在使用的是preferred-application-packages,但仍然存在上述问题…更多建议??谢谢!
解决方法:
我认为您应该从服务器引导区域中删除JAR,并让每个域都使用域级类加载器从其各自的EAR中加载JAR.
您已经知道这是真的,因为您采用的方法会给您带来麻烦.
这样做的唯一理由是,通过不在多个域中复制JAR来尝试节省一些磁盘空间.我说磁盘空间很便宜,而且一直都在便宜.通用JAR表示通用依赖关系,并且您不希望仅仅因为一个公民需要JAR就强制WebLogic实例上的每个域都必须升级JAR.
从服务器引导程序中除去JAR,然后在每个EAR中复制所需的JAR.使每个EAR,每个域彼此独立.
更新:
您需要拥有自己的服务器.
或添加< prefer-web-inf-classes>标记您的配置.
详情请咨询this.