使用 Java 8 构建时 Web 服务启动失败
Webservice failing on startup when built with Java 8
我们正在使用 Java8 构建网络服务并将其部署到 Tomcat8。我们在启动过程中遇到以下错误。
原因:org.springframework.beans.factory.BeanDefinitionStoreException:IOException 从 class 路径资源 [META-INF/cxf/cxf-servlet.xml] 解析 XML 文档;嵌套异常是 java.io.FileNotFoundException: class 路径资源 [META-INF/cxf/cxf-servlet.xml] 无法打开,因为它不存在
当我们使用 Java7 构建相同的组件时,我们没有看到这个问题。
这是我们的 pom 依赖项
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.7.0</version>
</dependency>
这是我们的 web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationConfig.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF Servlet</display-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
ApplicationConfig.xml 有导入
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
请帮忙。尝试使用 3.0.4 和 3.1.8 cxf 版本,但无法构建应用程序。
将此依赖项添加到您的项目中
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.7.0</version>
</dependency>
我们正在使用 Java8 构建网络服务并将其部署到 Tomcat8。我们在启动过程中遇到以下错误。
原因:org.springframework.beans.factory.BeanDefinitionStoreException:IOException 从 class 路径资源 [META-INF/cxf/cxf-servlet.xml] 解析 XML 文档;嵌套异常是 java.io.FileNotFoundException: class 路径资源 [META-INF/cxf/cxf-servlet.xml] 无法打开,因为它不存在
当我们使用 Java7 构建相同的组件时,我们没有看到这个问题。
这是我们的 pom 依赖项
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.7.0</version>
</dependency>
这是我们的 web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationConfig.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF Servlet</display-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
ApplicationConfig.xml 有导入
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
请帮忙。尝试使用 3.0.4 和 3.1.8 cxf 版本,但无法构建应用程序。
将此依赖项添加到您的项目中
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.7.0</version>
</dependency>