在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环境的位置。
答案 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)
在 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
从那里,您可以轻松浏览到“工作”目录,如下所示。
如果你这样做,你永远不必记住这个位置!
在 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)
我认为它与您的工作区相同。