VirtualWebappLoader 或类似的 WebLogic 添加目录到 war 的类路径?

VirtualWebappLoader or similar for WebLogic to add directories to war's classpath?

如何在部署到 WebLogic 的 war 的类路径上创建一个外部目录(将在其中部署额外的 jar)?

我熟悉如何在 Tomcat 上执行此操作,方法是在 context.xml 中定义一个 Loader 元素并包含一个指定 [=13= 的 virtualClasspath 属性].

WebLogic 中是否有类似的功能?

是的,weblogic 也可以选择在 weblogic.xml:

中使用 virtual-directory-mapping 执行此操作
<?xml version="1.0" encoding="ISO-8859-1"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
  <virtual-directory-mapping>
    <local-path>C:\my\images</local-path>
    <url-pattern>*.jpg</url-pattern>
    <url-pattern>dir/*</url-pattern>
  </virtual-directory-mapping>
</weblogic-web-app>

Oracle docs here

在 war 之外使用 jar 的其他选项包括将 jar 安装为 shared library 或简单地将 jar 文件包含在 <domain>/lib 文件夹中以使所有人都可以使用它们应用程序。

您可以在应用程序的展开目录中创建名为 .beabuild.txt 的文件,然后将任何目录或文件映射到应用程序的目录。

用法示例

假设我们有 Gradle 个多项目构建 ExampleProject。然后 .beabuild.txt 可能看起来像:

C\:/Users/User/.gradle/caches/modules-2/files-2.1/asm/asm/1.5.3/63a2715c39c9e97f88fe371d4441a1b3493d74f9/asm-1.5.3.jar = APP-INF/lib/asm-1.5.3.jar
C\:/Users/User/.gradle/caches/modules-2/files-2.1/asm/asm-all/2.2.3/9b79af5fc90f2dca349f16b771c21a43045f97ba/asm-all-2.2.3.jar = APP-INF/lib/asm-all-2.2.3.jar
C\:/Users/repos/ExampleProject/ui/src/main/webapp = ui.war
C\:/Users/repos/ExampleProject/ui/build/classes/main = ui.war/WEB-INF/classes
C\:/Users/repos/ExampleProject/ui/build/resources/main = ui.war/WEB-INF/classes
C\:/Users/repos/ExampleProject/common/build/classes/main = APP-INF/classes
C\:/Users/repos/ExampleProject/common/build/resources/main = APP-INF/classes

Creating a Split Development Directory Environment 在 docs.oracle.com