1

Java で WS クライアントを作成しようとすると問題が発生します。

私が使用しているライブラリはapache-cxf 2.12です。これは古いバージョンですが、既に実行されている Spring 2.5.6 を使用する JBoss アプリケーションに Web サービスを追加したいので、このorg.apache.cxfバージョンは同じ spring バージョンを使用します。

しかし、問題は (非常に一般的であり、maven、netbeans、および apache-cxf に関連していることはわかっています)

クライアント プロジェクト (maven プロジェクト) を netbeans から実行すると、問題なく動作します。このクラスをスクリプト (ボット Windows と Linux) で実行しようとすると、次のエラーが表示されます。

「次のエラーで呼び出しが失敗しました: org.apache.cxf.ws.policy.PolicyException: ポリシーの代替手段のどれも満たすことができません。」

Java のバージョンは同じです。すべての依存関係の jar ファイルを lib ディレクトリにコピーし、%classpath% に追加しました。

では、サンプル プログラムを maven org.codehaus.mojo:exec-maven-plugin:1.2.1:execで実行すると機能し、srcipt で実行すると機能しないという違いは何ですか? (すべての依存関係、Java バージョンなどを確認しました ...)

JAX-WS o JCE (Java Cryptography Architecture) の初期化に関連しているに違いないと思います。

java.exe の実行時に %classpath maven が作成しているものを確認する方法はありますか?

動作する Maven スクリプト:

JAVA_HOME=D:\\LOCAL\\Java\\jdk1.5.0_15 
D:\\LOCAL\\apache-maven-2.0.9\\bin\\mvn.bat 
-Dexec.classpathScope=runtime 
-DskipTests=true 
"-Dexec.args=-Djavax.net.debug=all -classpath %classpath es.webservice.aaTest TESTFILE" 
-Dexec.executable=D:\\LOCAL\\Java\\jdk1.5.0_15\\bin\\java.exe 
-Dmaven.repo.local=D:\\bsrepo\\.m2 process-classes 
org.codehaus.mojo:exec-maven-plugin:1.2:exec

ありがとう

4

0 に答える 0