java - 在 Weblogic 中访问另一个应用程序的 Jar 文件
问题描述
我在 Weblogic 中部署了两个应用程序(比如App1和App2),并且有一种情况可以从 App2/app2.war/xyz.jar 访问 App1/.../abc.jar
App1的包结构
/a1/app1.ear/app1.war/WEB-INF/abc.jar
App2的包结构
/a2/app2.ear/app2.war/WEB-INF/xyz.jar
我拥有 app2.war 的完全所有权,并且由于其他限制,我无法对 app1 的配置进行任何更改(例如启用共享库)
我所做的尝试
在 MANIFEST.MF 文件中添加了一个 Class-Path 条目(在 /a2/app2.ear/app2.war/WEB-INF/xyz.jar/META-INF &/ /a2/app2.ear/app2.war/META-信息)
Manifest-Version: 1.0 Class-Path: /u01/a1/app1.ear/app1.war/WEB-INF/abc.jar
注意:我尝试使用绝对路径(不是相对路径)
直接在我的 app2.war 中添加了所需的 abc.jar(来自 app1)
这种方法实际上有效,但如果没有其他方法,则为最后一个首选选项。 [更新1,回答@Smile]原因是两个应用程序的库是由不同的构建过程生成的,不同的应用程序组合可以同时共存。例如:App1 (10.06)、App2(10.03) 或 App1(09.03)、App2(10.03) 或任何其他构建组合。在构建 App2 时,我可能不知道最终用户将使用哪个版本的 App1,这也是我无法将特定版本的 App1/abc.jar 包含到 App2/xyz.jar 中的原因。客户也可以单独更新 App1 或 App2。唯一可靠的选择是利用 'RunTime' 处的 jar 文件的位置。我同意它更多的设计问题,不幸的是为时已晚:(
任何想法将不胜感激
解决方案
推荐阅读
- excel - 从两列中查找excel索引/匹配中最近的日期
- javascript - 显示元素包含单词
- python - Python Pycryptodome AES-GCM 加密代码性能提升
- java - 错误:实体和 Pojos 必须有一个可用的公共构造函数 - Java
- request - 请求总是得到 RequestTimeoutException
- android - org.gradle.api.GradleScriptException:评估项目“:app”时出现问题。我试过其他帖子,但他们没有工作
- ietf-netmod-yang - YANG——必选
- java - 无法实例化默认 tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer] Springboot 2.0.5,OpenJDK11,Postgres 10.5
- android - 如何以分钟:秒格式显示时间,分钟包括小时?
- sapui5 - SAPUI5 Treetable高度渲染