【问题标题】:SRVE0190E: File not found- IBM Liberty profileSRVE0190E: 未找到文件 - IBM Liberty 概要文件
【发布时间】:2015-08-03 16:31:36
【问题描述】:

我在尝试将 EAR 部署到 Liberty 配置文件时遇到问题。部署后,我可以点击索引页面(欢迎页面)。当我试图达到其余端点之一时,我得到 [WARNING] SRVE0190E:找不到文件:rest/xx/xx。 这是我的 server.xml 的样子:

<webContainer deferServletLoad="false"/>

<!-- Enable features -->
<featureManager>
    <feature>jsp-2.2</feature>
    <feature>jpa-2.0</feature>
    <feature>servlet-3.0</feature>
    <feature>json-1.0</feature>
    <feature>jndi-1.0</feature>
    <feature>jdbc-4.0</feature>
    <feature>jaxrs-1.1</feature>
</featureManager>

<!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
<httpEndpoint httpPort="9081" httpsPort="9444" id="defaultHttpEndpoint"/>

<library id="objectFactoryLib">
    <fileset dir="${server.config.dir}/lib/"/>
</library>

<jndiObjectFactory className="xxx" id="objectFactory" libraryRef="objectFactoryLib" objectClassName="java.util.Properties"/>


<library id="oracle-lib">
    <fileset dir="${server.config.dir}/oracle/" includes="ojdbc6-11.2.0.3.jar"/>
</library>

<applicationMonitor updateTrigger="mbean"/>

<enterpriseApplication id="xxx" location="xxx.ear" name="xxx">
                    <classloader commonLibraryRef="oracle-lib" delegation="parentLast"/>
</enterpriseApplication>

Web.xml 看起来像:

<context-param>
    <param-name>spring.profiles.default</param-name>
    <param-value>default</param-value>
</context-param>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:META-INF/server/wink-core-context.xml
                 classpath:xxx.xml
    </param-value>
</context-param>
<servlet>
    <servlet-name>winkRestServlet</servlet-name>
    <servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>winkRestServlet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>

【问题讨论】:

  • 您的应用程序中是否有 wink 库?如果是这样,则可能是由于 jaxrs-1.1 功能与应用程序中的 jaxrs 实现之间的冲突引起的。尝试删除 jaxrs-1.1。或者,如果您没有 JAX-RS 1.1,请删除 servlet 类名称,因为它将在运行时添加正确的类名称。
  • 是的,我确实有 wink 库。我尝试了您建议的两个选项。它没有工作。我可以点击索引页面,但不是实际的休息终点。

标签: websphere-liberty


【解决方案1】:

当您删除包含的 wink 库时,您还需要更新您的 web.xml servlet 定义。

这是一个 JAX-RS 1.1 web.xml 定义示例,来自我在 Liberty 上部署的应用程序。

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

【讨论】:

    猜你喜欢
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多