我的场景如下:
我有一个部署到 servlet 容器的 WebApp.war。此 WebApp.war 在 WEB-INF/lib 中包含以下库:
我还有另一个库,例如 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,因此您可以利用虚拟Web应用程序加载器.
Add a META-INF/context.xml
whith
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/somepath/myapp">
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="/somedir/*.jar"/>
</Context>
还要记住,virtualClasspath 属性必须是绝对路径,如下面的注释中正确所述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)