代码之家  ›  专栏  ›  技术社区  ›  Luca Matteis

Java代码-寻找源代码

  •  6
  • Luca Matteis  · 技术社区  · 14 年前

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

    在我的 index.jsp (加载的主文件)它导入一个特定的名称空间(我想Tomcat会进行所有编译,我不知道):

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

    这个物理位置在我的类路径中不存在,所以我认为它引用了.jar代码结构中的一个名称空间(如果我错了,请纠正我)。

    那么我应该如何找到这个的源代码呢?Tomcat是否为每个项目设置了特定的类路径位置?

    编辑

    我试着理解Tomcat是否遵循某种结构,这样我就可以找到这些东西的源代码在哪里。

    5 回复  |  直到 14 年前
        1
  •  6
  •   JoseK    14 年前

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

    * 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源代码(甚至在反编译之后)

        2
  •  1
  •   OmnipotentEntity    14 年前

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

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

    至于你对Tomcat的具体问题,我不知道,以前从来没有和Tomcat合作过。

        3
  •  1
  •   zengr    14 年前

    你可以在两个地方找到罐子:

    1. /web-inf/lib directory (它有应用程序使用的所有自定义jar)
    2. 构建文件(mvn、ant等)
        4
  •  1
  •   Adeel Ansari    14 年前

    源代码可能根本不存在。所以,首先,你需要找到 jar 确实有导入的类。然后,只需搜索网页即可找到Project/API网站。如果它是一个开放源码库,那么您可以在那里查找源代码。否则,反编译是唯一剩下的选项,这可能不是很有帮助。

        5
  •  0
  •   NimChimpsky    14 年前

    根据我的经验,类路径通常设置在每个项目的Ant构建文件中。