Java代码-查找源代码
我有一些其他人编写的Java代码,特别是JSP。我在试着弄清楚一切都在哪里 在我的Java代码-查找源代码,java,jsp,tomcat,Java,Jsp,Tomcat,我有一些其他人编写的Java代码,特别是JSP。我在试着弄清楚一切都在哪里 在我的index.jsp(加载的主文件)中,它导入了一个特定的名称空间(我想tomcat完成了所有的编译,我不知道): 这个物理位置在我的类路径中不存在,所以我想它引用的是.jar代码结构中的名称空间(如果我错了,请纠正我) 那么,我该如何找到这个的源代码呢?Tomcat是否为每个项目设置了特定的类路径位置 编辑 我试图了解Tomcat是否遵循某种结构,以便找到这些东西的源代码。JAR是压缩的javabyte代码。为
index.jsp
(加载的主文件)中,它导入了一个特定的名称空间(我想tomcat完成了所有的编译,我不知道):
这个物理位置在我的类路径中不存在,所以我想它引用的是.jar代码结构中的名称空间(如果我错了,请纠正我)
那么,我该如何找到这个的源代码呢?Tomcat是否为每个项目设置了特定的类路径位置
编辑
我试图了解Tomcat是否遵循某种结构,以便找到这些东西的源代码。JAR是压缩的javabyte代码。为了获取源代码,您必须对其进行反编译。有一些实用程序,但是使用反编译代码有点像噩梦。如果你问我,我不推荐这样做,尤其是如果你还不知道这一点的话D 源代码通常存储在其他地方
至于您关于Tomcat的具体问题,我不知道,以前从未使用过Tomcat。根据我的经验,类路径通常设置在每个项目的ant构建文件中您可以在两个地方查找JAR:
/web inf/lib目录
(它有应用程序正在使用的所有自定义JAR)源代码可能根本不存在。因此,首先,您需要找到哪个
jar
确切地拥有导入的类。然后只需搜索web即可找到project/API网站。如果它是一个开源库,您可以在那里查找源代码。否则,反编译是剩下的唯一选项,这可能没有多大帮助
从网络的角度
应用程序、类或资源加载
在以下存储库中查找,
按此顺序:
* 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
从
特定于应用程序的类的最可能位置是
WEB-INF/lib/*.jar
和WEB-INF/classes
。然而,正如其他人所提到的,这将包含已编译的类文件,并且您将看不到确切的java源代码(即使在反编译之后)Tomcat中的构建文件通常位于哪里?如果您使用的是ant,请在父文件夹中查找build.xml,如果您使用的是maven,请查找pom.xml(它列出了所有使用的JAR)ant/maven构建文件用于构建您的web应用程序,以便部署到Tomcat中-因此它不会在Tomcat中,而是在源代码文件夹中,我相信OP没有访问该文件夹的权限?
* 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