无法部署宁静的应用程序自由配置文件8.2 [英] unable to deploy restful application liberty profile 8.2

查看:239
本文介绍了无法部署宁静的应用程序自由配置文件8.2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在自由配置文件8.5.5.2上部署RESTful Web服务.我已经在服务器中启用了jaxrs-1.1功能,并且正在使用Java 1.7.当我启动服务器时,它给了我以下错误:

I am trying to deploy the RESTful webservices on liberty profile 8.5.5.2. I have enabled the jaxrs-1.1 feature in server and I am using Java 1.7. When I start the server it gives me following error:

[ERROR   ] Uncaught.init.exception.thrown.by.servlet 
                                                                                                               JAX-RS Servlet
                                                                                                               accessms
                                                                                                               java.lang.NoClassDefFoundError: org/apache/wink/server/handlers/HandlersFactory
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at com.ibm.ws.classloading.internal.AppClassLoader.definePackageAndClass(AppClassLoader.java:275)
    at [internal classes]
    at org.apache.wink.server.internal.DeploymentConfiguration.initHandlers(DeploymentConfiguration.java:456)
    at org.apache.wink.server.internal.DeploymentConfiguration.init(DeploymentConfiguration.java:169)
    at org.apache.wink.server.internal.servlet.RestServlet.getDeploymentConfiguration(RestServlet.java:184)
    at org.apache.wink.server.internal.servlet.RestServlet.createRequestProcessor(RestServlet.java:129)
    at org.apache.wink.server.internal.servlet.RestServlet.init(RestServlet.java:94)
    at javax.servlet.GenericServlet.init(GenericServlet.java:161)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:325)
    at [internal classes]

[ERROR   ] SRVE0266E: Error occured while initializing servlets: javax.servlet.ServletException: SRVE0207E: Uncaught initialization exception created by servlet
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:395)
    at [internal classes]
Caused by: java.lang.NoClassDefFoundError: org/apache/wink/server/handlers/HandlersFactory
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at com.ibm.ws.classloading.internal.AppClassLoader.definePackageAndClass(AppClassLoader.java:275)
    at [internal classes]
    at org.apache.wink.server.internal.DeploymentConfiguration.initHandlers(DeploymentConfiguration.java:456)
    at org.apache.wink.server.internal.DeploymentConfiguration.init(DeploymentConfiguration.java:169)
    at org.apache.wink.server.internal.servlet.RestServlet.getDeploymentConfiguration(RestServlet.java:184)
    at org.apache.wink.server.internal.servlet.RestServlet.createRequestProcessor(RestServlet.java:129)
    at org.apache.wink.server.internal.servlet.RestServlet.init(RestServlet.java:94)
    at javax.servlet.GenericServlet.init(GenericServlet.java:161)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:325)
    ... 1 more

以下是我的web.xml文件中的条目:

Following is the entry in my web.xml file:

<servlet>
        <servlet-name>JAX-RS Servlet</servlet-name>
        <servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.Application</param-name>
            <param-value>com.example.RestfulResourceLoader</param-value>
        </init-param>
        <init-param>
        <param-name>propertiesLocation</param-name>
        <param-value>mobilehandler.properties</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>JAX-RS Servlet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>

要删除此错误,我还需要做哪些其他配置?

What other configuration I need to do in order remove this error?

推荐答案

WebSphere Liberty支持JAX-RS 1.1,因此您无需提供servlet类,只需在web.xml中使用以下片段:

WebSphere Liberty supports JAX-RS 1.1, so you dont need to provide servlet class, just use the following fragment in web.xml:

<servlet>
    <servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
    <servlet-name>javax.ws.rs.core.Application</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

另请参阅:

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆