Eclipse项目部署到Tomcat中路径

如:A项目:D:\javaeclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp7\wtpwebapps\A




说明:
一、D:\javaeclipse\workspace\表示当前 D:\javaeclipse\workspace 是eclipce是工作空间。
二、.metadata\.plugins
  .metadata是eclipse生成的目录,是eclipse的插件目录,tomcat是以插件的形式加入到eclipse
里的,因此eclipse的tomcat目录不是真实tomcat安装根目
录,而是eclipse工作空间里的
  .metadata\.plugins\org.eclipse.wst.server.core。

(3)至于tmp7 ,那是在eclipse new 一个tomcat server时,就会在core下创建一个tmp1,
   2个server就tmp1 和tmp2 ... 以此类推,我建了7个tomcat
server,因此会有tmp7,
   而我的A就在这个tmp7下部署。这里的tmp7
表示一个临时的tomcat(里面的目录结构
有点像tomcat安装路径下的目录结构,可以理解为一个tomcat复制品,我猜tmp是临时的意思。)

(4)wtpwebapps
  通常,我们用tomcat手动部署项目时,工程的发布位置有2种:1是指conf里的配置文件中指定webapp
  的路径,也就是web工程路径,这种从
开发到部署都是用同一个目录下的文件,没有复制或打包;
  第2种是把web工程打包成war包复制到{tomcat_home}/webapps目录
下,tomcat自动识别这个war包,
  解压war包得到一个web工程,并生成相关jsp文件放到D:\javaeclipse\workspace
\apache-tomcat-6.0.37\work\Catalina\localhost下
  (注意,在localhost下的只是web文件,不是全部工程文件,全部文件应该去webapps下找),

  这种方式的发布有个麻烦的地方,就是修改工程后要重新打包并把新war包放到webapps下,就算你只
  是修改了一个jsp文件上的一个文字或标识符,也要重新
生成war包来发布
  (war包括有改后缀为rar来查看里面的内容,但是,修改里面的文件再改回war后缀好像不能被tomcat识别,
  这点不确定,待测试才知道)
而这里的wtpwebapps ,应该是相当于实际tomcat的webapps目录,
  wtpwebapps 里的A相当于 webapps下 的A.war生成的A工程,应该是省下来生成war包拷贝到webapps目录的操作。


  换言之,工程的发布文件就在这个webapps\A 或 eclipse配置的tomcat-wtpwebapps\A 里。浏览器请求访问的就是写A文件夹,而非我们的eclipse下的工
  作空间workspace里的真实工程文件。

总结:


  这样就可以解释,为什么我们在eclipse修改了web工程里的一个jsp/js或java文件后,eclipse会先编译(building,
  有没有发布工程eclipse都会重新编译这个工程,跟tomcat无关,这是eclipse的自检查功能),然后publish 到eclipse
  配置的tomcat上,也就是publish到wtpwebapps上。

  (如果eclipse没有配置tomcat,而是手动发布A,那么,eclise执行完building后,我们要重新生成war包去覆盖
  tomcat_home\webapps下的原理旧的war包,tomcat会监控war包发生变化而重新发布这个web工程,浏览器才
  能请求到新的
jsp或servlet。
  当然,如果采用的是
tomcat_home\conf\server.xml配置的方式发布,就省事多了,eclise上修改完了,building完
  成后,tomcat默
认会自动重新发布这个工程A。一般的web应用服务器,如tomcat jboss resin 应该都有自动重新发布工程的功能。)

posted @ 2016-11-08 19:05  巫师大人  阅读(10033)  评论(0编辑  收藏  举报