一尘不染

我可以在Tomcat中为每个应用程序创建自定义类路径吗

tomcat

对于某些应用程序,我使用ZK,其他Hibernate,其他Apache Commons等。

我不想部署75MB的war文件,只是因为它使用了很多库。

我不想将库添加到我的tomcat lib文件夹中,也不想将其添加到配置的类路径中,因为我可能有一个使用库x.1的旧应用程序和另一个使用库x.2的应用程序

因此,最好在web.xml或context.xml中添加一些类似以下内容的内容:

<classpath>/usr/local/tomcat/custom-libs/zk-5.0.4</classpath>

注意: 以上为伪代码


阅读 227

收藏
2020-06-16

共1个答案

一尘不染

从Tomcat 7开始,没有提到不能在生产中使用VirtualWebappLoader。我尝试过,它像梦一样运作。只需将以下内容添加到META-INF /
context.xml中:

<?xml version="1.0" encoding="UTF-8"?>

<Context antiJARLocking="true" path="/websandbox">
    <Loader className="org.apache.catalina.loader.VirtualWebappLoader"
          virtualClasspath="/usr/.../*.jar;/usr/.../*.jar"/>
</Context>

在Netbeans中,在打包下,我只是取消选中所有包,将.war的大小减小为零,确保依赖项位于服务器上的正确文件夹中并上载。是的 没有更多的100 MB
WAR文件。

2020-06-16