我有一个war文件,每个Web应用程序爆炸一次 . 这最终会为相同的jar和类使用大量空间,但是对于不同的Web应用程序 . 就我而言,这里有两个例子:
/usr/local/tomcat/conf/Catalina/localhost/turnsmith.xml:
<Context docBase = "${catalina.home}/wmsvision/vaadinwebsite.war"
override = "true"
swallowOutput = "true"
debug = "0">
<Parameter name = "socketType"
override = "false"
value = "Turnsmith" />
<!-- value = "WMSWebsite" /> -->
<!-- value = "WMSWebsite-NEWCUST2" /> -->
<Parameter name="imageDirectory" override="false" value="/usr/local/tomcat/wmsvision/wmsImages" />
<Parameter name="videoDirectory" override="false" value="/usr/local/tomcat/wmsvision/wmsVideos" />
<Parameter name="wmsReports" override="false" value="/usr/local/tomcat/wmsvision/wmsReports" />
<Parameter name = "debugCommand"
override = "false"
value = "true" />
<Valve className = "org.apache.catalina.valves.AccessLogValve"
prefix = "turnsmith_access_log."
suffix = ".log"
pattern = "common"/>
</Context>
然后另一个引用完全相同的war文件/usr/local/tomcat/conf/Catalina/localhost/vaadinwebsite.xml:
<Context docBase = "${catalina.home}/wmsvision/vaadinwebsite.war"
override = "true"
swallowOutput = "true"
debug = "0">
<Parameter name = "socketType"
override = "false"
value = "WMSWebsite" />
<!-- value = "Turnsmith" /> -->
<!-- value = "WMSWebsite-NEWCUST2" /> -->
<Parameter name="imageDirectory" override="false" value="/usr/local/tomcat/wmsvision/wmsImages" />
<Parameter name = "debugCommand"
override = "false"
value = "true" />
<Valve className = "org.apache.catalina.valves.AccessLogValve"
prefix = "vaadinwebsite_access_log."
suffix = ".log"
pattern = "common"/>
</Context>
这爆炸如下:
ls -ltd /usr/local/tomcat/webapps/turnsmith /usr/local/tomcat/webapps/vaadinwebsite
drwxr-xr-x. 5 tomcat tomcat 4096 Jan 5 16:32 /usr/local/tomcat/webapps/vaadinwebsite
drwxr-xr-x. 5 tomcat tomcat 4096 Jan 5 16:32 /usr/local/tomcat/webapps/turnsmith
du -hs /usr/local/tomcat/webapps/turnsmith /usr/local/tomcat/webapps/vaadinwebsite
120M /usr/local/tomcat/webapps/turnsmith
120M /usr/local/tomcat/webapps/vaadinwebsite
反正有没有配置tomcat来更有效地使用磁盘空间?
作为进一步的信息,war文件包括一堆库jar . 这是他们为什么要使用这么多空间的部分原因 .
1 回答
创建一个目录
$CATALINA_HOME/shared/lib
,把你所有的 jar 和编辑catalina.properties
设置为shared.loader
看起来像这样shared.loader=$CATALINA_HOME/shared/lib
在
catalina.properties
中,您可以看到如何配置变量您也可以将jar放入tomcat服务器库路径
$CATALINA_HOME/lib
,但我建议使用第一个选项