簡體   English   中英

澤西島上的Jboss和NoSuchMethodError javax.ws.rs.core.Application.getProperties

[英]Jersey on Jboss and NoSuchMethodError javax.ws.rs.core.Application.getProperties

當我嘗試運行REST服務時,得到的方法未找到服務。 我正在使用Jersey 2.11和Jboss 7.1。 球衣1.8正常。

pom.xml

    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0</version>
    </dependency>
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>jsr311-api</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
        <version>2.11</version>
    </dependency>

web.xml

<servlet>
    <servlet-name>Jersey</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>app.rest.RefreshDatabaseService</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

RefreshDatabaseService.java

@Path("refresh")
public class RefreshDatabaseService extends ResourceConfig {

    private static Logger logger = Logger.getLogger(RefreshDatabaseService.class);

    public RefreshDatabaseService() {
        packages("com.jtendo.notification.app.rest.RefreshDatabaseService");
    }

    @GET
    @Path("all")
    public String refreshAllTable() {

日志記錄

12:55:29,502 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/NotificationGW-app]] (MSC service thread 1-3)() Servlet /NotificationGW-app threw load() exception: java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:304) [jersey-server-2.11.jar:]
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:285) [jersey-server-2.11.jar:]
at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:310) [jersey-container-servlet-core-2.11.jar:]
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170) [jersey-container-servlet-core-2.11.jar:]
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358) [jersey-container-servlet-core-2.11.jar:]
at javax.servlet.GenericServlet.init(GenericServlet.java:242) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3655) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3873) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_65]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]

我正在運行http://localhost:8080/app/rest/refresh/all

在我的war文件的lib文件夾中,沒有看到任何版本不同的jar文件重復。 所有球衣瓶均為2.11版。

您可能有兩個帶有javax.ws.rs.core.Application類的jar文件,其中一個(不幸的是由Java找到)其中一個沒有getPropetries方法。

嘗試使用JHades查找重疊的罐子並刪除錯誤的罐子。

來自: http : //java.dzone.com/articles/jar-hell-and-back

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM