在Eclipse中运行的Tomcat实例的“work”目录在哪里?

时间:2009-04-18 16:14:44

标签: java eclipse jsp tomcat

在Eclipse中,您可以配置许多服务器在IDE中运行,包括Tomcat。根据您的Tomcat配置,在Web应用程序生命周期的某个时刻,您的JSP文件将被编译为servlet。这些新的servlet .class 文件与从JSP创建的 .java 中间文件一起存储在%TOMCAT_HOME%/work目录中。当您的JSP抛出异常并引用与 .java 对应的行号而不是 .jsp 时,此 .java 文件非常有用。 p>

更新:在我的环境(Windows)上,它位于:

  

C:/ Documents and Settings / %USER% /workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/work

也许更完整地回答有人可以发布* nix环境的位置。

7 个答案:

答案 0 :(得分:50)

你会在

中找到它
projectworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0

这是Eclipse 3.4发布项目的默认位置。但是,可以通过更改“服务器”视图中的设置来更改此设置。

答案 1 :(得分:16)

转到“服务器”窗口 - >双击您的tomcat实例 - > clik“开放启动配置” - >转到“参数”选项卡。

寻找像这样的变量定义:

-Dcatalina.base="/Users/dirtyaffairs/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0"

答案 2 :(得分:15)

最简单的方法是最有可能向编译的JSP页面询问有关字节代码的来源。

来自http://www.exampledepot.com/egs/java.lang/ClassOrigin.html

// Get the location of this class
Class cls = this.getClass();
ProtectionDomain pDomain = cls.getProtectionDomain();
CodeSource cSource = pDomain.getCodeSource();
URL loc = cSource.getLocation();  // file:/c:/almanac14/examples/

希望这会有所帮助。你想做什么?

答案 3 :(得分:3)

  1. Windows 上,访问Eclipse的Tomcat部署位置的最简单方法是右键单击 Servers 视图中的Tomcat实例,然后单击“浏览部署位置......

    你应该看到Eclipse巧妙地打开了一个Windows资源管理器,将你带到了确切的位置。就我而言,它需要我:

    C:\eclipse4.3.2-jee-kepler-SR2-win32\workspaces\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps

    从那里,您可以轻松浏览到“工作”目录,如下所示。

    如果你这样做,你永远不必记住这个位置!

    Eclipse Servers View:

    enter image description here

    Windows资源管理器打开:

    enter image description here

    Windows资源管理器(单击地址栏以显示完整路径):

    enter image description here

  2. Amazon EC2 Linux 上(但这与Eclipse无关),Tomcat 工作目录位于/var/cache/tomcat7/work

    [ec2-user@ip-172-31-xx-xx ~]$ uname -a
    Linux ip-172-31-xx-xx 4.1.10-17.31.amzn1.x86_64 #1 SMP Sat Oct 24 01:31:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
    
    [root@ip-172-31-xx-xx] /usr/share/tomcat7 $ ls -l
    total 4
    drwxr-xr-x 2 root root   4096 Jan  5 15:18 bin
    lrwxrwxrwx 1 root tomcat   12 Jan  5 15:18 conf -> /etc/tomcat7
    lrwxrwxrwx 1 root tomcat   23 Jan  5 15:18 lib -> /usr/share/java/tomcat7
    lrwxrwxrwx 1 root tomcat   16 Jan  5 15:18 logs -> /var/log/tomcat7
    lrwxrwxrwx 1 root tomcat   23 Jan  5 15:18 temp -> /var/cache/tomcat7/temp
    lrwxrwxrwx 1 root tomcat   24 Jan  5 15:18 webapps -> /var/lib/tomcat7/webapps
    lrwxrwxrwx 1 root tomcat   23 Jan  5 15:18 work -> /var/cache/tomcat7/work
    
    [root@ip-172-31-xx-xx] /var/cache/tomcat7/work/Catalina/localhost/init/org/apache/jsp $ ls -la
    total 180
    drwxr-xr-x 2 tomcat tomcat  4096 Jan  6 06:37 .
    drwxr-xr-x 3 tomcat tomcat  4096 Jan  6 06:37 ..
    -rw-r--r-- 1 tomcat tomcat 54172 Aug 17  2012 index_jsp.class
    -rw-r--r-- 1 tomcat tomcat  2106 Jan  6 06:37 index_jsp$FileComp.class
    -rw-r--r-- 1 tomcat tomcat  1034 Jan  6 06:37 index_jsp$FileInfo.class
    -rw-r--r-- 1 tomcat tomcat  6460 Jan  6 06:37 index_jsp$HttpMultiPartParser.class
    -rw-r--r-- 1 tomcat tomcat 89445 Aug 17  2012 index_jsp.java
    -rw-r--r-- 1 tomcat tomcat  2210 Jan  6 06:37 index_jsp$UplInfo.class
    -rw-r--r-- 1 tomcat tomcat  1208 Jan  6 06:37 index_jsp$UploadMonitor.class
    -rw-r--r-- 1 tomcat tomcat  1184 Jan  6 06:37 index_jsp$Writer2Stream.class
    

答案 4 :(得分:1)

您可以通过在服务器的web.xml配置中设置scratchDir参数来更改它(在Servers项目中,而不是在您的应用程序web.xml中!)。

答案 5 :(得分:0)

如果您在Eclipse中使用Tomcat Maven插件,则与Tomcat相关的文件将位于<project folder>/target/tomcat中,其中包括位于<project folder>/target/tomcat/work的tomcat工作文件夹,您可以从那里下来查找您的jsp .java文件等。

(我知道这可能并不适用于所有人,但是由于Tomcat Maven插件是使用tomcat开发并使用maven管理依赖项并帮助构建过程的一种流行方法,因此我希望此信息可能对某些人有所帮助)

答案 6 :(得分:-1)

我认为它与您的工作区相同。