你把server.xml中的Context元素去掉就不会重复加载了。
Tomcat在加载工程时首先会加载你配置的Context,加载完成后会到appBase(即webapps目录)中去加载相应的war包和工程目录,你即配了Context,又在webapps目录下放置了工程目录,所以才会出现重复加载的现象。
配置文件改为:
- <Hostname="www.kevin.com"appBase="webapps"unpackWARs="true"autoDeploy="true">
- <!--<ContextdocBase="Test"path=""reloadable="true"/>-->
- </Host>
<Host name="www.kevin.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- <Context docBase="Test" path="" reloadable="true"/> --> </Host>
我们先看appBase,这个目录表示:
1 这个目录下面的子目录将自动被部署为应用。
2 这个目录下面的.war文件将被自动解压缩并部署为应用
而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。
总结:
如果你想自己指定路径,那么应该在docBase里面
如果你想简单,那么直接把他们复制到appBase下面就行了
当tomcat中有root根目录时,需要将项目放到webapps/root下,很郁闷。本人亲自试验过,放在webapps下访问不到,坑爹。
<Host name="localhost" appBase="webapps/root" unpackWARs="true" autoDeploy="true">