Я создал проект Spring Starter в инструменте STS для реализации веб-службы java с использованием Jax-ws и apache cxf.Этот проект работает правильно в моей среде разработки, когда я выполняю как «Spring Boot App».
Мне нужно выполнить его на рабочем сервере.Для этого я выполнил установку Runa As -> maven, которая создала -0.0.1-SNAPSHOT.jar в целевой папке.
Затем попытался выполнить java -jar -0.0.1-SNAPSHOT.jar.Первоначально он давал классу не найденные исключения, которые были устранены путем добавления зависимости в javax.xml.ws, javax.jws, javax.xml, jaxb-api в pom.xml.
Теперь происходит сбой после следующегопредупреждение:
2018-05-18 20: 41: 18.394 ПРЕДУПРЕЖДЕНИЕ 24151 --- [main] ConfigServletWebServerApplicationContext: во время инициализации контекста возникла исключительная ситуация - отмена попытки обновления: org.springframework.beans.factory.BeanCreationException: ошибка созданияbean-компонент с именем 'endpoint', определенным в ресурсе пути к классу [com / xxxx / yyyyyyy / config / WebServiceConfig.class]: не удалось создать экземпляр компонента с помощью метода фабрики;вложенное исключение: org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [javax.xml.ws.Endpoint]: фабричный метод '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;
}
}
Может кто-нибудь, пожалуйста, пролить немного света здесь, чтобы понять причину ошибки.