0

私はWebサービスを持っており、Endpoint.publish("http://0.0.0.0:8080")

これは、実行時にJAX-WS 2.0 and 2.1をスローする問題の影響を受けます。NullPointerExceptionendpoint.stop()

この問題はで修正されていますが、を使用しているため、公開2.2に依存関係を追加すると失敗します。pom.xmljava.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;java 1.6

endorsed回避策は、フォルダにいくつかのライブラリを追加することです。しかし、私はそれをすべてに詰めたいと思いますjar-with-dependencies。実行可能なJavajar。

これを言って、あなたが私を助けてくれれば私は感謝するでしょう:

Publishing the endpoint in 2.0 or 2.1 listening to all addresses (0.0.0.0)

また

Configuring dependencies in maven to pack everything using 2.2.x 
but executable with JDK6

編集:

要件は、成果物の瓶です。すべての依存関係をパックする単一のjar(これまでのところ2つ、約400k jar)。

しかし、それを機能させる唯一の方法が外部シェルスクリプトを追加することだと思うなら、私にも知らせてください。

ありがとうございました!

4

2 に答える 2

2

実行可能jar形式では、JAX-WSの置換に必要な承認済みフォルダーは許可されません(Java WebStartランチャーも明らかに許可されません)。

新しい「java」コマンドをその場で作成して実行できるものを使用する必要があります。ここからの最善の方法は、インストールせずにプログラムを直接実行できるインストーラーを探すことです。

あなたは正確に何が起こる必要がありますか?


編集:要件は実行可能なjarであるため、JAX-WS2.2ではこれを実行できません。ターゲットとするJavaバージョンの最新リリースに存在するJAX-WSの回避策を見つけてください。

JAX-WSスタックにコアJavaが付属しているため、非常に小規模なデプロイメントが可能になるのは非常に便利ですが、独自のデプロイメントを簡単に提供することはできません。

Java 5を独自に提供することはできますが、その場合は独自のEndpoint実装を用意する必要があることに注意してください。

于 2012-09-27T22:50:29.380 に答える
0

JAX-WS RIを使用する必要がありますか?代わりにCXFを使用できます。これは、JAX-WSの優れた実装であり、RIと同じ衝突の問題は発生しません。

編集:RIを使用してクラスを生成することもできますが、展開ではCXFを使用します。JAX-WSは結局のところ仕様なので、動作するはずです...

于 2012-09-28T09:08:17.430 に答える