`
kingxss
  • 浏览: 972110 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

更改Eclipse下Tomcat的部署目录

阅读更多

      使用eclipse开发是因为机器不够用myeclipse,eclipse也比myeclipse清爽很多,启动速度也快。这里的搭建开发环境使用: Jdk1.6+Tomcat6+Eclipse JEE, 工作目录如下环境目录如下:

       安装路径:

       C:\Java\Jdk1.6.0

       C:\Java\Jre1.6.0

       D:\Tomcat 6.0

       D:\workSpace

       D:\Eclipse

 

      配置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.

 

参考:

 1.Super Legend的Blog:《Eclipse自动部署项目到Tomcat的webapps下的有效方法》

分享到:
评论
6 楼 superman1230 2016-07-12  
[b][b]D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\ 这个目录就是eclipse的对 D:\Tomcat 6.0 目录的一个克隆????[/b][/b]
这个哪里是克隆,不要乱说啊!!!
4 楼 qq503758762 2015-05-26  
http://blog.sina.com.cn/u/5245342601
3 楼 guodefu909 2014-06-24  
增长知识了,非常感谢!
2 楼 tv151579 2013-10-16  
真不错,增长知识啦!
1 楼 fjn66 2013-07-03  
好贴,比参考的原贴更有专业精神,非常感谢!

相关推荐

    Eclipse配置tomcat及部署Web完全指南

    本文主要讲解了如何在 Eclipse 环境下配置 Tomcat 服务器,并部署 Web 项目的详细步骤。 Eclipse 配置 Tomcat 在配置 Tomcat 之前,需要先安装 JDK 1.6,注意安装路径中不要包含空格,以免 Tomcat 报错。然后,...

    在Eclipse中Tomcat和Maven插件相互配合进行热部署

    这个过程涉及到了源码管理和自动化构建工具Maven,以及集成开发环境Eclipse中的服务器适配器Tomcat,它们共同助力实现项目的热部署,即代码修改后无需重启服务器即可看到更新效果。 首先,Maven是一个强大的项目...

    eclipse的tomcat插件

    通常,Eclipse会自动将其设置为Tomcat的`webapps`目录下的项目名。如果你希望指定其他路径,可以在这里进行修改。 此外,为了实现更精确的控制,可能需要在Tomcat的配置文件中进行一些调整。例如,在Tomcat的`conf/...

    Eclipse下Tomcat插件——com.sysdeo.eclipse.tomcat_3.2.1

    4. **热部署**: 当项目代码有更改时,插件能自动检测并更新已部署的应用,无需每次修改后都手动重启服务器。 5. **日志查看**: 可以直接在Eclipse内部查看Tomcat的日志输出,便于调试和问题定位。 6. **配置管理**...

    eclipse 访问tomcat问题

    2. **默认部署目录问题**:Eclipse 默认将应用程序部署到 `wtpwebapps` 目录下,而 Tomcat 默认的部署目录为 `webapps`。如果二者不一致,会导致访问失败。 3. **Tomcat 服务未启动**:访问失败的原因还可能是 ...

    eclipse+tomcat环境配置

    将eclipse解压到D盘根目录下,目录位置可根据个人喜好自定义。启动eclipse,进入“Window” -&gt; “Preferences” -&gt; “Java” -&gt; “Installed JREs”,检查是否已经添加了刚才安装的JDK。如果没有,点击“Add”按钮,...

    eclipse中的tomcat插件

    4. **自动部署**:Eclipse支持自动部署功能,当项目源代码有改动并保存后,Eclipse会自动将更改同步到Tomcat服务器,无需手动部署。 **三、高级操作** 1. **配置端口**:在服务器配置中,可以修改Tomcat的HTTP、...

    搭建 Eclipse Tomcat Oracle开发环境全程详解

    将Oracle 10g安装目录下的classes12.jar驱动文件复制到Tomcat的common/lib目录,这样Tomcat就可以识别并连接到Oracle数据库。在Tomcat管理界面(http://localhost:8000/admin)中,以zhaobz/12345登录,创建一个新的...

    maven-eclipse-tomcat热部署

    在项目属性中,启用WTP的动态Web项目设置,这样当源代码更改时,Eclipse会自动编译并部署到Tomcat。 7. **调试与优化** 使用Eclipse的Debug模式启动Tomcat,可以设置断点进行调试。为了进一步提高性能,可以考虑...

    免费】eclipse内的tomcat插件(com.sysdeo.eclipse.tomcat_3.1.0)

    下载并解压该插件后,可以通过Eclipse的“Install New Software”功能进行安装,或者将插件文件放入Eclipse的dropins目录下,让Eclipse自动识别并加载。 总的来说,这个插件对于需要在Eclipse中进行Java Web开发的...

    net.sf.eclipse.tomcat.updatesite-2019-01-28.zip

    - 支持热部署,即修改代码后无需重启服务器即可看到更改的效果。 总之,"net.sf.eclipse.tomcat.updatesite-2019-01-28.zip" 提供了一个强大的工具,让Eclipse用户能够更加高效地与Tomcat服务器进行交互,简化了...

    eclipse tomcat插件 com.sysdeo.eclipse.tomcat_4.0.0.zip

    7. **安装过程**:将解压后的插件文件复制到Eclipse的"plugins"目录下,然后重启Eclipse,即可完成安装。这是一个简单而直接的过程,无需复杂的配置步骤。 总的来说,"com.sysdeo.eclipse.tomcat_4.0.0.zip"插件是...

    com.sysdeo.eclipse.tomcat_3.3.1

    2. **快速部署**:可以直接将项目部署到Tomcat服务器,无需手动复制文件到Webapps目录。 3. **实时同步**:修改源代码后,插件可以自动或手动触发应用的热更新,无需重启服务器。 4. **日志查看**:在Eclipse内部...

    tomcat 部署java项目 jar

    标题中的“tomcat部署java项目jar”指的是在Apache Tomcat服务器上部署Java Web应用程序,通常以JAR(Java Archive)格式打包。Tomcat是一个开源的轻量级应用服务器,主要用于运行Servlet和JSP(JavaServer Pages)...

    net.sf.eclipse.tomcat_9.0.1.jar

    在Eclipse IDE中,扩展通常以插件形式存在,这些插件存储在"Eclipse根目录/plugins"路径下。用户可以通过手动将"net.sf.eclipse.tomcat_9.0.1.jar"文件复制到该目录来完成插件的安装,而无需通过Eclipse的内置更新...

    com.sysdeo.eclipse.tomcat_3.2.1

    【标题】"com.sysdeo.eclipse.tomcat_3.2.1" 是一个针对Eclipse集成开发...通过这个插件,开发者可以在Eclipse的强大工具集支持下,更加高效地开发和管理基于Tomcat的Java Web应用,实现从编码到部署的一站式开发体验。

    Eclipse调用Tomcat服务的原理

    - **MyEclipse与Eclipse的区别**:在MyEclipse中,可以将项目直接复制到Tomcat的`webapps`目录下,从而实现项目的部署。但在Eclipse中,这一过程更为复杂。 - **Eclipse的处理方式**:Eclipse通过调用JDK中的`...

Global site tag (gtag.js) - Google Analytics