我在 WebLogic 节点中部署 EAR,在引导程序 (startWeblogicServer.bat) 类路径中定义了许多 jar。问题是我的耳朵和引导程序包含相同 jar 的不同版本,不仅如此,某些 jar 还包含提取的第三方库,这些库的版本也与导致各种类路径错误的 WebLogic 引导 jar 的版本不同。
我知道您可以在 EAR 应用程序 xml 中设置首选 jar,但是对于包含提取的第三方库的 jar,在理解所有依赖项方面,这可能非常繁琐。
我需要在这里采取正确的方法吗?我是否以错误的方式思考这个问题?任何帮助将不胜感激!
到目前为止,prefer-web-inf-classes 已被推荐但不会工作,因为我没有部署 WAR,prefer-application-packages 也是我们目前正在使用的,但仍然存在上述问题......还有更多建议?? 谢谢!
我不知道它是否可以帮助您,但是您可以在 java 虚拟机加载 weblogic 类之前(以及在应用程序部署之前)直接在 java 命令行中定义要解析的类路径。
来自java文档:
-Xbootclasspath/p:path 指定以冒号分隔的目录、JAR 档案和 ZIP 档案的路径,以添加到默认引导类路径的前面。注意:不应部署使用此选项来覆盖 rt.jar 中的类的应用程序,因为这样做会违反 Java 2 运行时环境二进制代码许可证。
通常你不应该在同一个 JVM 中使用同一个库的不同版本……如果你有这个需要,你可以创建不同的 WL 服务器并安装不同的库