2010-10-27 17 views
6

У меня есть этот код Java, который написал какой-то другой человек, в частности JSP. Я пытаюсь понять, где все.Java-код - ищет исходный код

В моем index.jsp (основном файле, который загружается) она импортирует определенное пространство имен (я полагаю, кот делает все компилирование, я не знаю):

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

Это физическое местоположение не существует в моем CLASSPATH, поэтому я предполагаю, что это относится к пространству имен внутри структуры кода .jar (исправьте меня, если я ошибаюсь).

Итак, как я могу найти исходный код для этого? Устанавливает ли Tomcat конкретное местоположение CLASSPATH для каждого проекта?

EDIT

Я пытаюсь понять, если Tomcat следует определенную структуру, так что я могу найти, где исходный код для этого материала.

ответ

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/*.jar и WEB-INF/classes. Однако, как уже отмечали другие, это будет содержать скомпилированные файлы классов, а вы wont сможете увидеть точный источник java (даже после декомпиляции)

1

банки сжатого javabyte кода. Чтобы получить источники, вам придется декомпилировать их. Есть несколько утилит, но работа с декомпилированным кодом - это немного кошмар, если вы спросите меня, я бы не рекомендовал его, особенно если вы еще этого не знали. : D

Исходный код обычно хранится в другом месте.

Что касается ваших конкретных вопросов по Tomcat, я не знаю, никогда раньше не работая с Tomcat.

0

путь класса, по моему опыту, обычно устанавливается в муравьиной файла сборки каждого проекта

1

Вы можете искать банки в двух местах:

  1. /web-inf/lib directory (он имеет все пользовательские баночки в использовании приложением)
  2. файл сборки (МВН, муравей и т.д.)
+0

где файл сборки обычно находится в Tomcat? –

+0

, если вы используете ant, ищите build.xml, как правило, в родительской папке, и если вы используете maven, найдите pom.xml (в нем перечислены все используемые банки) – zengr

+0

Файл сборки ant/maven используется для создания вашей сети приложение для развертывания в Tomcat - так что это не будет в Tomcat, но в папке с исходным кодом, на которую, я считаю, OP не имеет доступа? – JoseK

1

Исходный код не может быть там вообще. Итак, прежде всего, вам нужно найти, какой именно jar имеет этот импортированный класс. Затем просто найдите в Интернете веб-сайт проекта/API. Там вы можете искать источник, если его библиотека с открытым исходным кодом. В противном случае, разложение будет единственным вариантом, и это может быть не очень полезно.

Смежные вопросы