代码报错如下,springboot做的webservice服务,测试发布的时候,为什么报jar包找不到?

报错

20:45:16.837 [main] DEBUG org.apache.cxf.resource.DefaultResourceManager - resolving resource <org.apache.cxf.wsdl11.WSDLManagerImpl/bus> type <interface org.apache.cxf.Bus>

20:45:16.837 [main] DEBUG org.apache.cxf.resource.DefaultResourceManager - resolving resource <null> type <interface org.apache.cxf.Bus>

20:45:16.932 [main] DEBUG org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory - Creating Jetty HTTP Server Engine for port 8000.

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jetty/server/SessionManager

at org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory.getOrCreate(JettyHTTPServerEngineFactory.java:116)

at org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory.createJettyHTTPServerEngine(JettyHTTPServerEngineFactory.java:268)

at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.retrieveEngine(JettyHTTPDestination.java:121)

at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.finalizeConfig(JettyHTTPDestination.java:154)

at org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:281)

at org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:131)

at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:84)

at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:63)

at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:170)

at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:211)

at com.suiwei.webservice.Test.main(Test.java:16)

Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.server.SessionManager

at java.net.URLClassLoader.findClass(URLClassLoader.java:382)

at java.lang.ClassLoader.loadClass(ClassLoader.java:418)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)

at java.lang.ClassLoader.loadClass(ClassLoader.java:351)

... 11 more

Process finished with exit code 1

依赖

发布服务代码,运行该代码,控制台爆出了如上错误

public class Test {

public static void main(String[] args){

//发布服务的工厂

JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();

//设置服务地址

factory.setAddress("http://localhost:8000/ws/hello");

//设置服务类

factory.setServiceBean(new HelloServiceImpl());

//发布服务

factory.create();

System.out.println("发布成功");

}

}

服务代码

public class HelloServiceImpl implements HelloService {

public String sayHello(String name){

return name+"-success!";

}

}

服务接口

import javax.jws.WebService;

/**

* 对外发布服务的接口@WebService标识*/

@WebService

public interface HelloService {

/**

* 对外发布服务的接口的方法

*/

public String sayHello(String name);

}


回答:

经过我的测试,你应该是引错了依赖,使用如下依赖可以正常运行你的代码:

<!-- 应该是这些依赖,你的依赖可能适用于普通的spring项目而非springboot -->

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-spring-boot-starter-jaxws</artifactId>

<version>3.5.5</version>

</dependency>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-transports-websocket</artifactId>

<version>3.5.5</version>

</dependency>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-transports-http-jetty</artifactId>

<version>3.5.5</version>

</dependency>

以上是 代码报错如下,springboot做的webservice服务,测试发布的时候,为什么报jar包找不到? 的全部内容, 来源链接: utcz.com/p/945125.html

回到顶部