我想为基于 CXF 的应用程序服务器创建一个 uber JAR。我想从命令行运行服务器java -jar
。在 IDE 中,我可以运行主类com.connexta.desertcodecamp.Server
,但我没有正确创建 uber jar。
当我运行命令java -jar server-1.0-SNAPSHOT.jar
时,我得到
org.apache.cxf.service.factory.ServiceConstructionException
at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:215)
at com.connexta.desertcodecamp.Server.<init>(Server.java:19)
at com.connexta.desertcodecamp.Server.main(Server.java:33)
Caused by: org.apache.cxf.BusException: No DestinationFactory was found for the namespace http://cxf.apache.org/transports/http.
at org.apache.cxf.bus.managers.DestinationFactoryManagerImpl.getDestinationFactory(DestinationFactoryManagerImpl.java:122)
at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:79)
at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:63)
at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:170)
这是 POM 文件(和 GitHub 存储库)的链接: https ://github.com/ahoffer/desert-code-camp/blob/master/server/pom.xml
其他帖子引用了缺少的依赖cxf-rt-transports-http
项,但我在 POM.xml 中将其作为依赖项。