是否向WebLogic 10中的应用程序(WAR)类路径添加项?

是否向WebLogic 10中的应用程序(WAR)类路径添加项?,weblogic,classpath,weblogic-10.x,Weblogic,Classpath,Weblogic 10.x,我的商店已经运行Oracle的应用服务器好几年了。因此,在我们了解更多之前,我们已经制定了一个规范,将应用程序配置文件存储在WAR文件之外,并使用Oracle特定的部署描述符将特定于应用程序的配置目录添加到每个应用程序中。这个部署描述符允许我们在应用层添加类路径元素,而不必在WAR中包含所有依赖项 现在我们面临着升级到WebLogic 10.3的问题,我需要为依赖外部配置的应用程序找到一个替代方案 WebLogic中有没有一种方法可以在应用程序级别向类加载器添加外部JAR或目录?我已经找到了将它

我的商店已经运行Oracle的应用服务器好几年了。因此,在我们了解更多之前,我们已经制定了一个规范,将应用程序配置文件存储在WAR文件之外,并使用Oracle特定的部署描述符将特定于应用程序的配置目录添加到每个应用程序中。这个部署描述符允许我们在应用层添加类路径元素,而不必在WAR中包含所有依赖项

现在我们面临着升级到WebLogic 10.3的问题,我需要为依赖外部配置的应用程序找到一个替代方案

WebLogic中有没有一种方法可以在应用程序级别向类加载器添加外部JAR或目录?我已经找到了将它们添加到系统类加载器的方法,但是我更愿意将它们添加到应用程序级别,以避免除了修改部署描述符之外还需要重新处理应用程序


这在WebLogic 10中可能吗?

据我所知,这在WebLogic中是不可能的。确实需要将外部配置文件添加到。您可以稍微调整类加载器(请参见和),但不允许在“应用程序级别”添加依赖项。为此,如果上面提到的场景不是一个选项,则必须运行单独的域。

使用共享库的部署可以引用外部JAR

大致上,外部JAR应该作为库“部署”。然后,可以使用库引用描述符从应用程序的weblogic-application.xml引用它们

参考这个


不过,我认为除了使用系统类路径之外,您无法提供外部目录/配置文件。

经过进一步研究,我们了解了WebLogic的功能

此功能允许我们为应用程序使用部署计划,并为应用程序指定“配置根目录”。在配置根目录中,我们可以创建一个名为“AppFileOverrides”的目录,并覆盖WEB-INF/classes或WEB-INF/lib目录中的任何文件

此功能的工作原理是在Web应用程序类加载器前面注入一个类加载器,因此从类路径加载的任何资源都将在该类加载器中找到,然后再将任何内容绑定到Web应用程序存档中

使用此功能,我们可以添加war文件中根本不存在的配置文件(理论上是类)。因此,我们能够模拟将配置文件保存在战争之外的功能

接下来,我鼓励我们的开发人员将配置包含在war文件中,但这对于遗留应用程序和需要更改给定部署目标(开发人员与生产人员)的配置的情况非常有效