2012-05-15 3 views
1

У меня есть классы ресурсов Джерси в комплекте с большей версией WAR как JAR-файл, который теперь находится под папкой WEB-INF/lib на сервере приложений Websphere. У меня есть правильная запись в web.xml (WEB-INF/web.xml), но все же на сервере, сканирование, похоже, не в состоянии найти классы ресурсов, которые связаны как JAR. Я смотрел несколько потоков, и предложение заключалось в том, чтобы не связывать ресурсы как JAR, а вместо этого загружать классы отдельно под/WEB-INF/classes.Jersey Resource .class loading

<servlet-name>Jersey REST Service</servlet-name> 
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
<init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>blah.blah.blah</param-value> 
</init-param> 
</servlet> 

com.sun.jersey.api.container.ContainerException: экземпляр ResourceConfig не содержит какой-либо classes..at корневого ресурса com.sun.jersey.server.impl.application.WebApplicationImpl.processRootResources (WebApplicationImpl.java:1064)


ответ

2

Есть проблемы, описанные в сообщении блога от Rohit здесь по различным вопросам Джерси с конкретными версиями WebSphere, можете ли вы посмотреть, поможет ли что-нибудь там?

http://wasdynacache.blogspot.com/2011/08/jax-rs-implementations-in-websphere.html

+1

Эта проблема специфична для WAS 6.1 и JAR JJ, которые мы используем. Нам пришлось написать собственные сканеры для поиска WEB-INF/lib – Noosphere

0

Имея классы в баночке против в WEB-INF/классов нет никакой разницы. Либо ваши имена пакетов неверны в web.xml, что-то еще в вашем web.xml настроено некорректно, или ваши классы ресурсов не аннотируются должным образом (или, возможно, какая-то работа WebSphere devilry работает - я никогда не использовал его сам, но я слышал о действительно странных проблемах с ним в классе). Если вы покажете класс ресурсов, полный web.xml и больше журналов вокруг ошибки, кто-то может указать, что происходит не так.

+0

как о наличии JAR с классами ресурсов под WEB-INF/Lib? – Noosphere

+0

Вот что я имел в виду, когда сказал, что это не имеет значения. Классы внутри JAR в WEB-INF/lib находятся на пути к классам, точно так же, как и классы, которые находятся в WEB-INF/classes. Все, что загружает классы из одного места, будет загружать классы из другого. –

+1

Проблема в том, что если я отброшу файлы ресурсов .class под WEB-INF/classes, он отлично работает. Но, к сожалению, тот же самый класс в пакете JAR под WEB-INF/lib не работает. Как и в случае, сканирование не может искать классы ресурсов в JAR. У меня есть аннотация @Path для корня класса. Есть ли какая-либо другая аннотация или конфиг, которые мне нужно будет указать, чтобы узнать, как быть в JAR. Извините, это заставляет меня обойти круги – Noosphere