Миграция сервера Jboss вызывает исключение?

Мое приложение Jboss Seam отлично работает в локальной среде, но когда я пытаюсь развернуть его на удаленном Jboss, некоторые страницы перенаправляются на страницу отладки со следующим исключением:

Exception during request processing:
Caused by javax.servlet.ServletException with message: "Servlet execution threw an exception" 
java.lang.NoSuchMethodError: org.richfaces.component.UIColumn.getFilterMethod()Ljavax/el/MethodExpression;

Локальная и удаленная версии Jboss одинаковы: 4.2.3.GA, я использую Seam (одна и та же версия на обоих серверах) 2.2.2.Final и Richfaces 3.3.3.Final с JSF 1.2, файлы одинаковые Я уверен, потому что я скопировал их на удаленный сервер. Единственная разница - это ОС, мой локальный сервер работает под управлением 32-разрядной версии Windows Server 2003 R2, а удаленный сервер работает под управлением 64-разрядной версии Ubuntu Server 12.04. Есть ли известная проблема с Ubuntu Server и Jboss или любым другим из этих инструментов?

Обновление: я использую Oracle jdk1.6.0_26 на сервере Windows и openjdk-7-jdk 7u7-2.3.2-1ubuntu0.12.04.1 на сервере Ubuntu


person Community    schedule 21.09.2012    source источник
comment
С какой версией el-impl / el-api вы работаете? Вам нужно обновить это в пути к классам AS до версии, которая была с JSF 1.2 (если это JSF, который вы используете). Я предполагаю, что вам нужно подтвердить, что EL версия 1.2 установлена.   -  person Darryl Miles    schedule 21.09.2012
comment
@DarrylMiles Я не проверял версию EL раньше, потому что у меня никогда не было с ней проблем, и она была загружена на удаленный сервер. Итак, как мне проверить версию EL?   -  person    schedule 21.09.2012
comment
Найдите файлы *el-impl* *el-api* *jboss*el* *el* ... в linux с find /abspath/jboss.4.2.3.GA -type f -iname "*el*.jar" .. затем распакуйте (или 'jar -xvf') в каталог и изучите META-INF / MANIFEST.MF   -  person Darryl Miles    schedule 21.09.2012


Ответы (3)


Обновите язык выражений EL до версии, которая должна использоваться вместе с JSF 1.2. Это похоже на EL 1.2, и, возможно, вы сможете загрузить / извлечь его из установочного архива JBoss AS5 (поскольку он является частью EE5).

Или скопируйте / сравните файлы со старой установкой. В Linux cmp file1.jar file2.jar

http://docs.oracle.com/javaee/5/api/javax/el/package-summary.html

Это как подтверждение того, что метод доступен в EL 1.2, который поставлялся со стандартами EE5.

JBoss AS 4.x не поддерживает EE5. Таким образом, вы должны были обновить его вручную (в старой установке), и он обычно обновляется вместе с JSF.

В предыдущей версии JavaEE не было EL, но в Servlet Spec 2.3, появившейся раньше (как показано здесь), был EL http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html

person Darryl Miles    schedule 21.09.2012
comment
Я до сих пор не понимаю, почему на сервере Ubuntu возникает исключение, а в окнах с теми же файлами этого не происходит. - person ; 21.09.2012
comment
Возможно, вам следует перейти на JDK6 (т.е. загрузить и разархивировать JVM Sun / Oracle для Linux в / opt /). С каких это пор JBoss AS 4.x был сертифицирован для использования на Java7? IIRC AS 5.x почти не делает Java6, а AS 6.x почти не позволяет Java7 и AS7.x наконец получить полную и рекомендованную поддержку Java7. Прочтите примечания к выпуску sourceforge.net/project/ JBoss AS 4.2.3 едва ли поддерживает Java6, как после мысли. - person Darryl Miles; 21.09.2012
comment
Я перешел на Sun JDK 6 и проверил каждый файл .jar, все в порядке. Что еще это могло быть? - person ; 24.09.2012

Похоже, что метод getFilterMethod() отсутствует в классе UIColumn, так что это, вероятно, проблема с банками RichFaces. См. эту страницу, чтобы узнать, версия является правильной для обоих развертываний. В любом случае используйте команды, упомянутые другими, для поиска jar-файлов RichFaces.

person Borstel    schedule 21.09.2012

Я нашел две банки в WEB-INF / lib из другой версии (4.0) Richfaces, которые я использую (3.3.3), проблема была решена путем их удаления и перезапуска сервера.

person Community    schedule 24.09.2012