Java & Tomcat: серьезная ошибка при запуске запутанного приложения с гибернацией внутри - PullRequest
3 голосов
/ 11 ноября 2011

Это немного сложно объяснить ..

Я использую tomcat 6.0 для тестирования развертывания файла WAR. Я использую proGuard, чтобы скрыть файл WAR.

Чтобы использовать proGuard, все com. *, Org. * И т. Д., Которые обычно находятся в классах WEB-INF /, должны быть упакованы в один файл .jar в WEB-INF / lib.

Пока хорошо.

Проблема возникает при развертывании. Приложение использует Hibernate и Hibernate слушатель. Этот слушатель не может загрузить. Из этого я понимаю, что .jar с полным набором классов был найден и, по крайней мере, начал использоваться. Однако отказ прослушивателя гибернации завершает развертывание приложения, и ничего не появляется, даже страница индекса.

Мой файл журнала (установлен на DEBUG) дает мне:

[2011-11-11 10:19:33] [1381 prunsrv.c] [debug] Commons Daemon procrun log initialized
[2011-11-11 10:19:33] [info] Commons Daemon procrun (1.0.2.0) started
[2011-11-11 10:19:33] [info] Running Service...
[2011-11-11 10:19:33] [1165 prunsrv.c] [debug] Inside ServiceMain...
[2011-11-11 10:19:33] [info] Starting service...
[2011-11-11 10:19:33] [447  javajni.c] [debug] Jvm Option[0] -Dcatalina.home=C:\tomcat\Tomcat 6.0
[2011-11-11 10:19:33] [447  javajni.c] [debug] Jvm Option[1] -Dcatalina.base=C:\tomcat\Tomcat 6.0
[2011-11-11 10:19:33] [447  javajni.c] [debug] Jvm Option[2] -Djava.endorsed.dirs=C:\tomcat\Tomcat 6.0\endorsed
[2011-11-11 10:19:33] [447  javajni.c] [debug] Jvm Option[3] -Djava.io.tmpdir=C:\tomcat\Tomcat 6.0\temp
[2011-11-11 10:19:33] [447  javajni.c] [debug] Jvm Option[4] -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
[2011-11-11 10:19:33] [447  javajni.c] [debug] Jvm Option[5] -Djava.util.logging.config.file=C:\tomcat\Tomcat 6.0\conf\logging.properties
[2011-11-11 10:19:33] [447  javajni.c] [debug] Jvm Option[6] -Djava.class.path=C:\tomcat\Tomcat 6.0\bin\bootstrap.jar
[2011-11-11 10:19:33] [447  javajni.c] [debug] Jvm Option[7] vfprintf
[2011-11-11 10:19:33] [629  javajni.c] [debug] argv[0] = start
[2011-11-11 10:19:33] [655  javajni.c] [debug] Java Worker thread started org/apache/catalina/startup/Bootstrap:main
[2011-11-11 10:19:34] [1006 prunsrv.c] [debug] Java started org/apache/catalina/startup/Bootstrap
[2011-11-11 10:19:34] [info] Service started in 1138 ms.
[2011-11-11 10:19:34] [1272 prunsrv.c] [debug] Waiting worker to finish...

и затем останавливается.

Каталина дает мне:

11-Nov-2011 10:21:35 org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart

Есть ли у кого-нибудь опыт перехода в спящий режим для запуска в обфусцируемой войне (на самом деле война еще не запутана, она просто настроена в формате, в котором она нуждается в proGuard, чтобы запутать), независимый сосуд или даже просто как получить более точное ведение журнала!

Спасибо

UPDATE: Я думал, что Tomcat находит банку с классами com. * И т. Д., Но теперь я не уверен. Кто-нибудь знает, как использовать файл web.xml для указания внутри конкретного файла .jar в папке WEB-INF / lib?

В настоящее время это, например:

<listener>
    <listener-class>com.*etc*.HibernateListener</listener-class>
</listener>

<servlet>

    <servlet-name>Application Name</servlet-name>
    <servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>

etc etc...

но все эти пути должны указывать внутри файла .jar. Или же свойство в файле web.xml должно определять, где можно найти эти пути.

Спасибо

1 Ответ

1 голос
/ 14 ноября 2011

Решено.

Для тех, у кого возникла такая же проблема: я наконец-то запустил ведение журнала, используя файл logging.properties в WEB-INF/classes.Я поставил в настройках, найденных во многих сообщениях форума только для этого случая.Основной настройкой был DEBUG, чтобы поймать мельчайшие детали.

Эта регистрация позволила мне увидеть, что отсутствовал баночка, я ранее поместил ее в папку /WEB-INF/lib, но приложение не хотело видеть это такМне пришлось поместить класс в папку /src/ и перекомпилировать.В любом случае это сработало.

У меня все еще есть серьезные проблемы с другими элементами запутывания WAR, но это для других вопросов.

-S

...