2016-08-28 6 views
1

CXFベースのアプリケーションサーバー用のuber JARを作成します。私はjava -jarとコマンドラインからサーバーに行きたい。 IDEではメインクラスcom.connexta.desertcodecamp.Serverを実行できますが、私はuber jarを正しく作成していません。NopaceのDestinationFactoryが見つかりませんでした - JettyでCXFの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に依存しています。

+0

あなたは本当にあなたが結合された瓶に持っていますか? _How_あなたは瓶を結合しましたか? – bmargulies

+0

@bmargulies私は質問に答えるのに十分ではありません。この場合、どのような組み合わせが意味するのか分かりません。私はmaven依存関係としてcxf-rt-transports-httpを含めました。私はすべての依存関係が影付きのJARに入ると仮定しました。 – ahoffer

答えて

2

解決策はここにあります:apache camel - packaging an executable jar ここではMissing cxf.xml? Fails in maven, works in Eclipseです。

Mavenのシェードプラグインは、それを固定するの構成セクションに、この変圧器と魔法のリソースの追加:

<transformer org.apache.maven.plugins.shade.resource.AppendingTransformer"> 
    <resource>META-INF/cxf/bus-extensions.txt</resource> 
</transformer> 

リソースがプラグインによって生成されます。それを作成する必要はありません

関連する問題