我在STS工具中创建了一个Spring Starter项目,以使用Jax-ws和apache cxf实现java Web服务。当我执行#34; Spring Boot App"这个项目在我的开发环境中正常工作。 。
我需要在生产服务器中执行它。为此,我执行了Runa As - > maven install在目标文件夹下创建了-0.0.1-SNAPSHOT.jar。
然后尝试执行java -jar -0.0.1-SNAPSHOT.jar。 它最初是通过在pom.xml中添加对javax.xml.ws,javax.jws,javax.xml,jaxb-api的依赖来解决已发现的类未找到的异常。
在发出以下警告后现在失败了:
2018-05-18 20:41:18.394 WARN 24151 --- [main] ConfigServletWebServerApplicationContext:在上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.BeanCreationException:使用名称&#创建bean时出错39;端点'在类路径资源[com / xxxx / yyyyyyy / config / WebServiceConfig.class]中定义:通过工厂方法的Bean实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[javax.xml.ws.Endpoint]:工厂方法'端点'抛出异常;嵌套异常是javax.xml.ws.WebServiceException:org.apache.cxf.service.factory.ServiceConstructionException
在此之后它停止了tomcat,然后是许多其他异常。这个类WebServiceConfig.class适用于Spring Boot App执行。代码如下。
package com.xxxx.yyyyyyy.config;
import javax.xml.ws.Endpoint;
import org.apache.cxf.Bus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.xxxx.yyyyyyy.ExampleWsImpl;
@Configuration
public class WebServiceConfig {
@Autowired
private Bus bus;
@Bean
public Endpoint endpoint() {
Endpoint endpoint = new EndpointImpl(bus,new ExampleWsImpl());
endpoint.publish("/ExampleService");
return endpoint;
}
}
有人可以在这里说清楚错误背后的原因。