解释Eclipse下Tomcat项目部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)
配置eclipse的开发环境,配置jdk的安装路径和tomcat安装路径。在eclipse下建立Dynamic Web Project工程zhgy,在使用eclipse中new一个tomcat,通过启动该tomcat来发布Dynamic Web Project的时候,其实并未将工程发布到tomcat 安装目录所在的 webapps下。这点可以去上述的tomcat 安装目录 的webapps目录下查看。从启动时候的控制台输出来看项目是被发布到了如下的目录:
信息: Set web app root system property: 'webapp.root' = [D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\zhgy\ ]
打开该目录可以很清楚的看到存在zhgy这样一个文件夹,这就是我们现在可以访问的项目目录。
再打开 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\ 这个目录,可以看到这个目录下的结构和 D:\Tomcat 6.0 的目录结构是一模一样的,只是多了个wtpwebapps目录。其实 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\这个目录就是eclipse的对 D:\Tomcat 6.0 目录的一个克隆,从而使 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\也能够具备源服务器的功能。
如果再new几个服务器,就会在 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\ 目录下依次出现temp0、temp1、temp2等多个克隆服务器,但是这里每次只能启动上面一个克隆服务器,因为他们都使用的是相同的启动端口(当然还有相同的关闭端口等)。
这样会给我们带来很多的不方便。举个例子:就上述工程而言,当我们在进行开发的时候,项目需要将上传的图片放入到工程的同级目录的upload文件夹的时候,会发现图片是上传到了所在的目录D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\upload\ ,但是无法在浏览器中访问到上传的图片。这时候我们可以手动将该upload目录整个复制到 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps\ ,这时在浏览器中的确就可以访问了。造成这种现象的原因是tomcat服务器默认webapps为工程目录,而不是 wtpwebapps 目录。之所能够通过浏览器访问 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\zhgy\ 下的zhgy这个项目,是由于eclipse通过tomcat发布项目的时候在 D:\workSpace-jx\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\conf 目录的server.xml文件中有如下的设置:
- <Context docBase="D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapps\zhgy"
- path="/zhgy" reloadable="true" source="org.eclipse.jst.jee.server:zhgy"/>
这一点我们可以通过在查看eclipse中新建的tomcat属性来了解,如下图中Server Locations中所示:

手动拷贝虽然可以解决问题,但是确实不方便。但是上图中的Server Locations是灰色的,不能更改。其实eclipse新建tomcat克隆的时候是可以更改的,只是在new这个tomcat的时候不要添加任何工程进去,再在tomcat上点击右键open:

就可以看到Server Locations选项不再是灰色,是可以编辑的了:

这里有三种可以选择:
1.使用eclipse的工作空间,以上述为例就是 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\
2.使用tomcat的安装目录,以上述为例就是 D:\tomcat\
3.自定义路径,这里就是自己选择目录了
还可以通过修改 Deploy path 来定义工程到底部署到容器的哪个目录下。例如下图中,我们就可以选着 Use Tomcat Installtion 这种方式,并且设置 Deploy path 为 webapps:

其实,最简单的方法是修改VM arguments的-Dwtp.deploy属性。该属性位置为:eclipse菜单栏Run -> Run Configurations -> Arguments -> VM arguments.
出处:http://kingxss.iteye.com/blog/1741438
解释Eclipse下Tomcat项目部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)的更多相关文章
- 转!!!解释Eclipse下Tomcat项目部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)
1.配置eclipse的开发环境,配置jdk的安装路径和tomcat安装路径. 2.在eclipse下建立Dynamic Web Project工程zhgy,在使用eclipse中new一个tomca ...
- 更改Eclipse下Tomcat的部署目录 ,防止上传的文件是到eclipse的克隆的tomcat上的webapp,而不是tomcat本身的webapp
使用eclipse开发是因为机器不够用myeclipse,eclipse也比myeclipse清爽很多,启动速度也快.这里的搭建开发环境使用: Jdk1.6+Tomcat6+Eclipse JEE, ...
- 更改Eclipse下Tomcat的部署目录
转自:http://kingxss.iteye.com/blog/1741438 前言 今天tomcat启动就报错,后来查原因是因为异常关闭tomcat的原因,需要删除一个sessions.ser的文 ...
- eclipse修改web项目部署路径
Eclipse中用Tomcat发布的Web项目,更改其部署路径 我的Eclipse的工作目录是D:/workspace 先配置Tomcat 选择你的tomcat版本 点击next 这里先不要把项目添加 ...
- eclipse修改web项目部署路径 wtpwebapps webapps 的设置
eclipse修改web项目部署路径 wtpwebapps webapps 的设置,在添加完server------>tomcat后,到server控制台进行设置 eclipse默认的部署 ...
- java.lang.IllegalArgumentException: Document base D:\Project\workspace\space\.metadata\.plugins\org.eclipse.wst.server.core\tmp7\wtpwebapps\Blog
java.lang.IllegalArgumentException: Document base D:\Project\workspace\space\.metadata\.plugins\org. ...
- Could not delete D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/platform/WEB-INF/lib
再把之前的maven工程删掉时,出现了如下错误: Could not delete D:/workspace/.metadata/.plugins/org.eclipse.wst.server.cor ...
- Eclipse中tomcat更改部署路径 deply path
默认是部署在项目元数据文件夹.metadata文件夹下,需要更改到tomcat/webapps目录下 Eclipse中tomcat service设置 选择window ----show view-- ...
- eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法
问题描述: 使用eclipse,因为某种原因项目名称修改后,使用tomcat进行web发布时,选择“Add and Remove Projects...”或双击打开选择Modules选项卡后点击“An ...
随机推荐
- Linux SSH & SCP命令
SSH SSH为建立在应用层和传输层基础上的安全协议 sshd服务使用SSH协议进行远程控制,或在计算机之间传送文件.而实现此功能的telnet(远程桌面) 是不安全的,使用明文传送密码 ssh ss ...
- echarts 模拟迁徙
echarts 3 的功能貌似加了不少额 官方demo:http://echarts.baidu.com/demo.html#geo-lines 地图是基于地理地图的 百度提供了一些地图:http:/ ...
- C#使用Emit生成构造函数和属性
假设我们需要一个名叫Kitty的类,其在Pets程序集下. 1 // specify a new assembly name 2 var assemblyName = new AssemblyName ...
- Failed to create Accelerated Display. Please check the display hardware and drivers meet the minimum requirements.
ArcGIS Runtime for WPF开发中Map设置了属性UseAcceleratedDisplay="True",报错: Sample: LocalMap Error: ...
- 移动端iscroll实现日期选择
哎,说多了都是泪: 引入相关JS文件 <script type="text/javascript" src="js/jquery-1.9.1.min.js" ...
- ghithub中PHPOffice/PHPWord的学习
1.概念:PHPWord是用纯PHP提供了一组类写入和从不同的文档格式的文件阅读库.PHPWord的当前版本支持微软的Office Open XML(OOXML或处理OpenXML),用于Office ...
- BZOJ4409 [Usaco2016 Feb]Circular barn 动态规划 斜率优化
原文链接http://www.cnblogs.com/zhouzhendong/p/8724739.html 题目传送门 - BZOJ4409 题意 有一个N个点的环,相邻两个点距离是1.点顺时针标号 ...
- union和union all的区别(面试常考)
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All:对两个结果集进行并集操作,包括重复行,不进行排序: Union因为要进行重复值扫描,所以效率低.如果合 ...
- sql语句start with connect by prior语法解析
prior分两种放法: 1 放在子节点端 表示start with 指定的节点作为根节点,按照从上到下的顺序遍历 2 放在父节点端 表示start with指定的节点作为最底层节点,按照从下到上的顺序 ...
- springmvc接受前端的参数封装成对象
前端如果传过来的是json格式的字符串,后台参数需要加@RequestBody注解. 前端如果传过来的是json对象,后台不参数需要加@RequestBody注解. $.POST({ url: url ...