当我尝试将EAR部署到Liberty配置文件时,我遇到了问题。部署后,我可以点击索引页面(欢迎页面)。当我试图击中其中一个剩余的终点时,我正在 [警告] 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>
答案 0 :(得分:2)
删除包含的wink库时,还需要更新web.xml servlet定义。
这是我在Liberty上部署的应用程序中JAX-RS 1.1 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>/api/*</url-pattern>
</servlet-mapping>