我有其他人编写的 Java 代码,特别是 JSP。我试图了解所有内容的位置。
在我的 index.jsp
(加载的主文件)中它导入了一个特定的命名空间(我想 tomcat 完成了所有的编译,我不知道):
<%@ page import="org.sgrp.SearchResults"%>
这个物理位置在我的 CLASSPATH 中不存在,所以我想它指的是 .jar 代码结构中的一个命名空间(如果我错了请纠正我)。
那么我应该如何找到它的源代码呢? Tomcat 是否为每个项目设置了特定的 CLASSPATH 位置?
编辑
我试图了解 Tomcat 是否遵循某种结构,以便我可以找到这些东西的源代码。
最佳答案
From the perspective of a web application, class or resource loading looks in the following repositories, in this order:
* 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/*.jar
和WEB-INF/classes
。然而,正如其他人所提到的,这将包含已编译的类文件,您不会能够看到确切的 java 源代码(即使在反编译之后)
关于Java代码——寻找源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031188/