我的开发环境:eclipse kepler (4.3)+tomcat7.0.42.

在我想看eclipse中web项目jsp文件被tomcat转换成java以后的java源文件的位置,发现正常情况下的webapps以下,没有看到我部署的项目

同一时候,work文件夹(jsp的工作文件夹)以下也没有生成相关的jsp的class文件和java源文件。可是我想看源代码啊。找了一堆关于jsp的源代码位置的文章,都说是在work以下能够找到。后来在不断的尝试下,我搜索了keyword server locations的配置是什么意思。找了以下的资料,加上了自己的一些补充和验证,攻克了上述问题。

首先看一下,资料内容。

配置eclipse的开发环境,配置jdk的安装路径和tomcat安装路径。在eclipse下建立Dynamic Web Projectprojectzhgy,在使用eclipse中new一个tomcat,通过启动该tomcat来公布Dynamic Web Project的时候,事实上并未将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
7.0 的文件夹结构是一模一样的,仅仅是多了个wtpwebapps文件夹。事实上 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\  这个文件夹就是eclipse的对 D:\Tomcat
7.0 文件夹的一个克隆,从而使 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\也可以具备源服务器的功能。

假设再new几个server,就会在 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\ 文件夹下依次出现temp0、temp1、temp2等多个克隆server,可是这里每次仅仅能启动上面一个克隆server,由于他们都使用的是同样的启动port(当然还有同样的关闭port等)。

这样会给我们带来非常多的不方便。举个样例:就上述project而言,当我们在进行开发的时候,项目须要将上传的图片放入到project的同级文件夹的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为project文件夹,而不是 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文件里有例如以下的设置:

实际上,以下的配置是tomcat管理其它文件夹下的web项目的配置方式.在我的博文中tomcat虚拟路径的配置中有介绍.

<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"/>

(以上部分来源于百度空间)
##########################################################################
通过上面的验证,就应该明确了,为何myeclipse以下部署的项目的jsp文件的java文件会在E:\DevelopSoftware\apache-tomcat-7.0.42\work\Catalina\localhost文件夹下找到了.
由于默认情况下,在eclipse中部署了外部的tomcat时,默认的serverlocations是这样设置的:
打开此视图的的方式是:双击server就ok了,不会的多试一下的啦.不做具体介绍.
普通情况下,上面的面板打开以后,server locations是灰色的.
做例如以下操作:首先移除全部已经部署的项目,然后右击servlet->clean一下,就ok了.
那么上面能够看到server locations配置的三个选项.
1.使用workspace,不改动tomcat,并且发现部署的文件夹也不是webapps.
这样的情形下,要想找到jsp被tomcat转换成的java文件,就须要到上文中提到的文件夹以下去找了.详细路径例如以下:
D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps\ work\jsp
(找个文件夹找起来当然不太方便,由于plugins以下类似的文件夹非常多的啦)
2.使用tomcat的安装文件夹.
选择第二选项后,server path也会自己主动改动,然后手动改动部署路径就ok了.
也就是将deploy path改成webapps
3.第三种使用定制的文件夹,实际上就是自定义tomcat server 的location吗。一般不使用。
了解了上述三种location配置,那么我们要将web项目手动配置到tomcat的安装文件夹下,就非常easy了。
同一时候做了这种配置以后,以后要想看jsp的源代码,也就直接在tomcat的安装文件夹下的work文件夹中就能够找了。
于是,部署过的项目就能够找到jsp的源代码了.
E:\DevelopSoftware\apache-tomcat-7.0.42\work\Catalina\localhost\myDay11login\org\apache\jsp

tomcat配置虚拟路径管理其他文件夹下的web项目

eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)的更多相关文章

  1. Eclipse中web项目部署至Tomcat步骤

    Eclipse的web工程至Tomcat默认的部署目录是在工程空间下,本文旨在将部署目录改为Tomcat安装目录,并解决依赖包输出问题. 1.在Eclipse中添加Tomcat服务器. 2.将web工 ...

  2. Eclipse中web项目部署至Tomcat【转】

    Eclipse的web工程至Tomcat默认的部署目录是在工程空间下,本文旨在将部署目录改为Tomcat安装目录,并解决依赖包输出问题. 1.在Eclipse中添加Tomcat服务器.  2.将web ...

  3. 转:Eclipse中web项目部署至Tomcat步骤

    原址:http://blog.csdn.net/lucklq/article/details/7621807 Eclipse的web工程至Tomcat默认的部署目录是在工程空间下,本文旨在将部署目录改 ...

  4. eclipse中web项目部署到本地tomcat中,但是在本地的tomcat的webapp下找不到发布的项目

    eclipse不像MyEclipse默认将项目部署到tomcat安装目录下的webapps中,而默认部署到工作目录下 为了使项目默认部署到tomcat安装目录下的webapps中,show view- ...

  5. eclipse中将web项目部署到tomcat

    eclipse中将web项目部署到tomcat. myeclipse部署WEB项目到tomcat比较方便,但eclipse貌似默认是不会替你将web自动部署到tomcat下的.你Run as该web项 ...

  6. eclipse修改web项目部署路径 wtpwebapps webapps 的设置

    eclipse修改web项目部署路径 wtpwebapps   webapps  的设置,在添加完server------>tomcat后,到server控制台进行设置 eclipse默认的部署 ...

  7. myeclipse与eclipse的web项目部署区别

    一.myeclipse之web项目的部署(发布)流程 web项目的部署(发布)流程2008-01-18 14:35 在myeclipse下新建web工程abc.系统设置默认如下: 项目保存位置:wor ...

  8. Eclipse中web项目缓存路径

    eclipse运行web项目后, 默认保存到 workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps ecli ...

  9. Eclipse中WEB项目自动部署到Tomcat

    原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误 ...

随机推荐

  1. service name和SID的区别

    数据库名(DB_NAME).实例名(Instance_name).以及操作系统环境变量(ORACLE_SID)  在ORACLE7.8数据库中只有数据库名(db_name)和数据库实例名(instan ...

  2. 用纯css写出三角形

    1.新建一个元素,随便什么元素,不过我习惯性的会用块元素来做.如果行内元素就display:block它.<div class="triangle"></div& ...

  3. (Java)利用ListIterator(iterator 重复器/迭代器的子接口) 操作ArrayList

    add()方法是在下一个将要取得的元素之前插入新的元素.因此如果在下一个将要取得的元素的序号为0,则在序号0的元素前插入新的元素. 测试: 见第1.行,在序号为0的元素前添加一个元素. 见第2.行:这 ...

  4. [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.2.9

    (1). When $A$ is normal, the set $W(A)$ is the convex hull of the eigenvalues of $A$. For nonnormal ...

  5. 动态代理CGlib实例

    1.委托类: package 动态代理2; //需要对这个类进行增强 public class UserService { public void create() { System.out.prin ...

  6. RAM, SDRAM ,ROM, NAND FLASH, NOR FLASH

    在看上面2440的内存映射的时候,对其中的有些名字,不是完全太懂,所以到网上找了相关的信息. 对于mini2440来说,SDRAM,即内存,程序运行时的地方.选择连接SDRAM的为bank6. 1)S ...

  7. POM详细配置

    POM的全称是“ProjectObjectModel(项目对象模型)”. pom.xml详解 声明规范 <projectxmlns="http://maven.apache.org/P ...

  8. 《GettingThingsDone》--GTD学习笔记(一)-GTD理论

    利用春节假期阅读了<Getting Things Done>一书,下文整理了下阅读过程中做的读书笔记和心得. ==GTD理论== 一. 目的: 1. 收集需要处理的事情把它置于一个脱离大脑 ...

  9. grails2.3.11第一课

    以指令的方式Getting Started 1. 创建一个项目 grails create-app HelloGrails 2. 因为我环境变量中配置的jdk是1.8的,所以我要把这个项目搞到IDEA ...

  10. POJ2723-Get Luffy Out(2-SAT)

    题意:有m扇门,每个门上有两把锁,打开任意一个锁都可以打开这扇门.门要按顺序一个一个打开. 现在有n对不同的钥匙,每对钥匙只能用其中一个,问最多能打开多少门. 题解:对钥匙建图,门是限制条件来建边.每 ...