2010-10-27 23 views
6

Tengo este código Java que otra persona escribió, específicamente JSP. Estoy tratando de entender dónde está todo.código Java: buscando el código fuente

En mi (el archivo principal que se carga) index.jsp importa un determinado espacio de nombres (supongo Tomcat toda la compilación, no sé):

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

Esta ubicación física no existe en mi CLASSPATH así que supongo que se está refiriendo a un espacio de nombres dentro de la estructura de código .jar (corríjanme si estoy equivocado).

Entonces, ¿cómo se supone que debo encontrar el código fuente para esto? ¿Tomcat establece una ubicación de CLASSPATH específica para cada proyecto?

EDITAR

Estoy tratando de entender si Tomcat sigue una cierta estructura para que pueda encontrar en el código fuente de este material es.

Respuesta

6

Desde la perspectiva de una carga web aplicación, clase o recurso se ve en los siguientes repositorios, en este orden:

* 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 

de the Tomcat docs.

Los más probables ubicaciones para las clases específicas para su aplicación son el WEB-INF/lib/*.jar y WEB-INF/classes. Sin embargo, como otros han mencionado, esto contendrá archivos de clase compilados y usted no podrá ver el origen exacto de Java (incluso después de la descompilación)

1

jar están comprimidos código javabyte. Para obtener las fuentes, tendrás que descompilarlas. Hay algunas utilidades por ahí, pero trabajar con el código descompilado es un poco una pesadilla si me preguntas, no lo recomendaría, especialmente si aún no lo sabías. : D

El código fuente generalmente se almacenará en otro lugar.

En cuanto a sus preguntas específicas sobre Tomcat, no sé, nunca antes había trabajado con Tomcat.

0

ruta de clase es, en mi experiencia, comúnmente ajustado en el fichero de construcción de hormigas de cada proyecto

1

Puede buscar los frascos en dos lugares:

  1. /web-inf/lib directory (tiene todos los tarros personalizados en uso por la aplicación)
  2. el archivo de creación (MVN, hormigas, etc)
+0

¿dónde está el archivo de compilación generalmente ubicado en Tomcat? –

+0

si está usando hormiga, busque build.xml generalmente en la carpeta principal y si está utilizando maven, busque pom.xml (enumera todos los frascos usados) – zengr

+0

El archivo de construcción ant/maven se usa para construir su web aplicación para su implementación en Tomcat, por lo que no estará dentro de Tomcat, pero dentro de la carpeta de código fuente, a la que creo que OP no tiene acceso. – JoseK

1

el código fuente puede no estar allí en absoluto. Entonces, primero que nada, necesita encontrar qué jar tiene exactamente esa clase importada. Luego solo busca en la web para encontrar el sitio web del proyecto/API. Allí puede buscar la fuente, si es una biblioteca de código abierto. De lo contrario, la descomplicación es la única opción que queda, y eso podría no ser muy útil.

Cuestiones relacionadas