当在eclipse中运行Java EE程序前,需新建一个Server工程。完成后会在Package Explorer窗口中生成一个Servers文件夹,根目录下就是各个Server的配置。与此同时,在[eclipse的工作目录]\.metadata\.plugins\org.eclipse.wst.server.core目录下就会生成一个tmp0文件夹(根据新建个Server工程是第几个Server工程,tmp文件夹的名称可能不同。有可能是tmp0、tmp1、tmp2、tmp3等,后面把某个Server对应的tmp文件夹记为tmp文件夹),用来配置装载Java EE程序的tomcat,此时tmp0目录下没有任何东西。
当eclipse在某个Server配置下首次运行某个Java EE程序时,会在tmp文件夹中生成许多文件夹。这些文件夹大部分是从tomcat的根目录下复制过来的(文件夹名称相同,但里面的内容不同)。
tomcat根目录里的文件夹和文件:tmp目录下的文件夹和文件:
不同之处(这部分只是作为记录,基本没有用处)
conf目录之差异
tomcat中:
,tmp中:
。其中tomcat中server.xml有<Context path="" reloadable="true" docBase="C:\Users\hanrong\workspace\Struts2_test2" workDir="C:\Users\hanrong\workspace\Struts2_test2\work" />,而在eclipse中server.xml的情况为:<Context docBase="C:\Users\hanrong\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\Androidpn-tomcat" path="" reloadable="true" source="org.eclipse.jst.jee.server:Androidpn-tomcat" />。多了source这个属性,这个配置差异导致在eclipse中启动tomcat时发生了一个警告:警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Androidpn-tomcat' did not find a matching property.。这个警告暂时先放着,我还不知道怎么解决。
logs目录之差异
tomcat中:
tmp中:
。这个好理解,就是各有各的日志嘛。
temp目录之差异
tomcat中:
tmp中:空目录。这个temp目录是用来干嘛的真不知道,原来的tomcat中为什么会有那个.tmp也不知道是为什么,什么情况下生成的?
webapps目录之差异
work目录之差异
work目录的差异很明显,work目录存放的就是两者之间的项目编译后的字节码。
而在tmp目录下的wtpwebapps目录是新增的,tomcat根目录下原本没有的。而这个文件夹的作用是代替tomcat根目录下的webapps目录,在该目录下存放这项目的源码。而为什么eclipse把webapps也生成了,我不得而知,它在tmp目录下是一个空的文件夹,作用也不知道是什么。
在Servers视图中,双击Tomcat v7.0 Server at localhost [Stopped, Synchronized]弹出Tomcat v7.0 Server at localhost Overview窗口。在Server Locations标签下可以看到两个属性Server path和Deploy path。(Deploy是部署的意思)
在Server path属性中有值:.metadata\.plugins\org.eclipse.wst.server.core\tmp0;
在Deploy path属性中的值为:wtpwebapps(即Server path路径下的wtpwebapps文件夹)