Can/should 我依赖 WebLogic 的捆绑模块
Can/should I depend on WebLogic's bundled modules
我的目标平台是 WebLogic 12c 应用服务器。
我有一个 ear-project,它在启动时需要例如org.apache.commons.logging.LogFactory
.
我知道这个 class - 一个相关的 classes - 可以在 <WL_HOME>/modules/com.bea.core.apache.commons.logging.api_1.1.1.jar
中找到,但默认情况下它在 classspath 中不可用。
在这种情况下 - 我是否应该以某种方式使 <WL_HOME>/modules
中的 jar 文件在 class 路径上可用 - 或者我应该提供我认为合适的任何 jar 文件 - 要么捆绑在应用程序中, 或放在 <WL_HOME>/user_projects/domains/<mydomain>/lib
?
如果我要使用 <WL_HOME>/modules
文件夹中的那个 - 我该如何配置我的域以使其可用?
对我来说,模块文件夹中的 jar 文件应该被视为 提供的依赖项 似乎是合理的,但到目前为止我一直无法找到启用它们的正确方法这样 - 我已经浏览了几个小时的答案:-)
更新:
我知道我可以简单地将它们添加到服务器启动脚本中的 CLASSPATH 变量中——我的问题更像是——应该吗?有没有更好的方法 - 或者我应该完全忘记 <WL_HOME>/modules
?
这是一种短视的做法。
- 您需要重启服务器才能升级库
- 服务器上的每个 应用程序都必须与它们的 claspath
中的那些库兼容
Weblogic 有Shared JEE Libraries (example) 的概念。简而言之,您向 MANIFEST.MF 添加额外的行并以不同方式配置 jar,然后您可以使用 weblogic-application.xml
或其他任何方式在其他应用程序中引用它。
重点是不用重启服务器就可以升级库(前提是你给了它一个像1.1
这样的版本(上次我给它命名1.1.1
时有bug——需要能够将其转换为浮点数以无缝升级))。
如果您只想包含一些库但 不 在应用程序外共享它们,则只需指定正确的 <prefer-application-packages>
或 < prefer-web-inf-classes>
元素,具体取决于关于您是否拥有 EAR 或 WAR。
我的目标平台是 WebLogic 12c 应用服务器。
我有一个 ear-project,它在启动时需要例如org.apache.commons.logging.LogFactory
.
我知道这个 class - 一个相关的 classes - 可以在 <WL_HOME>/modules/com.bea.core.apache.commons.logging.api_1.1.1.jar
中找到,但默认情况下它在 classspath 中不可用。
在这种情况下 - 我是否应该以某种方式使 <WL_HOME>/modules
中的 jar 文件在 class 路径上可用 - 或者我应该提供我认为合适的任何 jar 文件 - 要么捆绑在应用程序中, 或放在 <WL_HOME>/user_projects/domains/<mydomain>/lib
?
如果我要使用 <WL_HOME>/modules
文件夹中的那个 - 我该如何配置我的域以使其可用?
对我来说,模块文件夹中的 jar 文件应该被视为 提供的依赖项 似乎是合理的,但到目前为止我一直无法找到启用它们的正确方法这样 - 我已经浏览了几个小时的答案:-)
更新:
我知道我可以简单地将它们添加到服务器启动脚本中的 CLASSPATH 变量中——我的问题更像是——应该吗?有没有更好的方法 - 或者我应该完全忘记 <WL_HOME>/modules
?
这是一种短视的做法。
- 您需要重启服务器才能升级库
- 服务器上的每个 应用程序都必须与它们的 claspath 中的那些库兼容
Weblogic 有Shared JEE Libraries (example) 的概念。简而言之,您向 MANIFEST.MF 添加额外的行并以不同方式配置 jar,然后您可以使用 weblogic-application.xml
或其他任何方式在其他应用程序中引用它。
重点是不用重启服务器就可以升级库(前提是你给了它一个像1.1
这样的版本(上次我给它命名1.1.1
时有bug——需要能够将其转换为浮点数以无缝升级))。
如果您只想包含一些库但 不 在应用程序外共享它们,则只需指定正确的 <prefer-application-packages>
或 < prefer-web-inf-classes>
元素,具体取决于关于您是否拥有 EAR 或 WAR。