Tomcat的Server Options选项详解

2019-10-18 19:49:34丽君

一、配置

默认前两个是没有勾选的,应该勾选上:

 (1)Server Options的第一个选项Serve modules without publishing

在默认情况下,当项目部署到tomcat中,该插件会把项目文件拷贝到上一个配置项Server Locations中的显示Server path的wtpwebapps目录下,即当前wrokspace所在目录下的。metadata子目录中,如我的wrokspace是D:workspace,那么该目录是:D:workspace.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebapps。

但如果选中上面的这个选项,则不会把项目文件发布到该目录下运行,而是:

web资源目录是:web项目的WebContent,即maven web项目的src/main/webapp目录

class文件目录是:是当前配置的class文件的输出目录,即maven项目的target/classes目录

(2)Timeouts

默认情况下start为45秒,stop为15秒,这里可能需要修改一下start为一个合适大的值,它的意思是当启动时间超过这里指定的时间还没有启动完成时,就报错。当我们的项目启动很耗时的情况下,这显然不是我们想要的,所以需要修改一下这个值。

勾选上Server Options->Serve Modules without publishing,不勾的话,修改类文件里就会不停的重启Web服务器;如果Web项目启动时间比较长的话,还需要修改超时时间,这个在Timeouts里面设置

在Cotext节点中有一个reloadable='true'属性,将它改为false,可以在修改java文件后不用重启服务器即可生效,但是不包括新建java文件、添加方法和变量的操作

二、浏览文件

Context节点单独生成的文件:

原来Tomcat安装目录下conf/server.xml中的Context节点(勾选第二个选项之后,server.xml中就不存在这个节点了):

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/>
  <Context docBase="D:workspaceworkspace(eclipse)ShopWebContent" path="/Shop" reloadable="true" source="org.eclipse.jst.jee.server:Shop">
    <Resources>
      <PreResources base="D:workspaceworkspace(eclipse)Shopbuildclasses" classLoaderOnly="false" className="org.apache.catalina.webresources.DirResourceSet" internalPath="/" webAppMount="/WEB-INF/classes"/>
    </Resources>
  </Context>
</Host>

三、原因

1.勾选第一个是为了防止出现警告: