gpt4 book ai didi

java - 在 Java Web 应用程序中加载外部库

转载 作者:搜寻专家 更新时间:2023-10-31 19:56:37 25 4
gpt4 key购买 nike

我的场景如下:

我有一个部署到 servlet 容器的 WebApp.war。此 WebApp.war 在 WEB-INF/lib 中包含以下库:

  • lib_a.jar
  • lib_b.jar

我还有一个库,比如 lib_vendor.jar,由于许可问题,我无法在 WebApp/WEB-INF/lib 中部署它,所以我让我们的客户在应用程序安装后将这个库复制到 tomcat/lib 中。但是由于 lib_vendor.jar 需要在 Web 应用程序类加载器中加载的 lib_a.jar 和 lib_b.jar,所以我不能使用 lib_vendor.jar。

如何在 Web 应用程序的同一类加载器中加载外部库(不在 WEB-INF/lib 中)?

最佳答案

由于您使用的是 Tomcat,您可以利用 VirtualWebappLoader .

添加一个META-INF/context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/somepath/myapp">
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="/somedir/*.jar"/>
</Context>

另请记住,virtualClasspath 属性必须是绝对路径,如以下评论中正确指出的那样。

关于java - 在 Java Web 应用程序中加载外部库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13704915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com