Java代码 - 寻找源代码

时间:2010-10-27 08:24:15

标签: java jsp tomcat

我有一些其他人写过的Java代码,特别是JSP。我想知道一切都在哪里。

在我的index.jsp(加载的主文件)中,它导入了某个命名空间(我想tomcat会进行所有编译,我不知道):

<%@ page import="org.sgrp.SearchResults"%>

我的CLASSPATH中不存在这个物理位置,所以我想它指的是.jar代码结构中的命名空间(如果我错了,请纠正我)。

那我怎么想找到这个的源代码呢? Tomcat是否为每个项目设置了特定的CLASSPATH位置?

编辑

我试图了解Tomcat是否遵循某种结构,以便找到这些内容的源代码所在。

5 个答案:

答案 0 :(得分:6)

  

从网络的角度来看   应用程序,类或资源加载   查看以下存储库,   按此顺序:

* Bootstrap classes of your JVM
* System class loader classes 
* /WEB-INF/classes of your web application
* /WEB-INF/lib/*.jar of your web application
* $CATALINA_HOME/lib
* $CATALINA_HOME/lib/*.jar
来自the Tomcat docs

特定于您的应用的类的最可能的位置是WEB-INF/lib/*.jarWEB-INF/classes。但是正如其他人提到的,这将包含已编译的类文件,并且不会能够看到确切的java源代码(即使在反编译后)

答案 1 :(得分:1)

jar是压缩的javabyte代码。为了获得源代码,您必须对它们进行反编译。有一些实用程序,但如果你问我,使用反编译代码是一个噩梦,我不会推荐它,特别是如果你还不知道这一点。 :d

源代码通常存储在其他地方。

至于你对Tomcat的具体问题,我不知道,以前从未使用过Tomcat。

答案 2 :(得分:1)

您可以在两个地方寻找罐子:

  1. /web-inf/lib directory(它有应用程序使用的所有自定义jar)
  2. 构建文件(mvn,ant等)

答案 3 :(得分:1)

源代码可能根本不存在。因此,首先,您需要找到哪个jar确切地具有该导入的类。然后只需搜索网页即可找到项目/ API网站。如果它是一个开源库,你可以在那里寻找源代码。否则,转换是唯一剩下的选择,这可能不是很有帮助。

答案 4 :(得分:0)

根据我的经验,

类路径通常在每个项目的ant构建文件中设置