Проблема Weblogic 10 и Struts 2.x - Javassist - PullRequest
0 голосов
/ 12 октября 2010

Пожалуйста, помогите с этой проблемой, я схожу с ума ...

Я пытаюсь создать клиент-серверное веб-приложение, используя Weblogic 10 в качестве сервера приложений и IIS в качестве веб-сервера (корпоративные ограничения), с EJB 3 и Struts 2. У меня, однако, есть проблемы с strage, которые я не могу решить.

Используя Struts 2.2, я получаю следующую трассировку стека при запуске сервера:

<12-ott-2010 16.02.21 CEST> <Error> <HTTP> <BEA-101165> <Could not load user def
ined filter in web.xml: org.apache.struts2.dispatcher.FilterDispatcher.
java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inj
ect.ContainerImpl$MethodInjector
File: ContainerImpl.java
Method: inject
Line: 295 - com/opensymphony/xwork2/inject/ContainerImpl.java:295:-1
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428)
        at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.
java:190)
        at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterMa
nager.java:320)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(Unknown Source)
        Truncated. see log file for complete stacktrace
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
[...]
java.lang.IllegalArgumentException: Javassist library is missing in classpath! P
lease add missed dependency!
        at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165)

[...]

Однакопакет Javassist четко виден в пути к веб-классам (/ WEB-INF / lib direcotry) среди всех других библиотек, связанных с Struts, я также могу просматривать его пакеты и классы.Я также поместил его в библиотеку CLASSPATH и в параметры инициализации Weblogic, но ничего не работает.Я не знаю, что думать.Это ошибка интеграции Struts 2 / Weblogic?

Еще более странным является тот факт, что изначально мне удалось заставить Struts 2 работать.Затем по какой-то причине (я не знаю, зачем) это прекратилось, и я не могу избавиться от этой ошибки.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 12 октября 2010

Часто решения приходят, когда вся надежда потеряна.Очевидно, все, что мне нужно было сделать, это переместить все библиотеки Struts (включая Javassist) в каталог / lib родительского проекта EAR.Это звучит странно для меня, но это работает, и я придерживаюсь решения.

Я не очень знаком с приложениями Weblogic и Enterprise в целом, поэтому не сразу пришло в голову, что сервер рассматривает EAR как базовый контекст, а не как содержащуюся WAR.

...