1

Java 1.6.0_22 を搭載した Mac OS X 10.6.4 で NetBeans 6.9.1 を使用しています。JAX-WS 経由でアプリケーション サーバー (GlassFish v3) に接続する Web アプリケーションがあります。「クリーンおよびビルド」プロセス中に、保存されている WSDL ファイルをインポートするために wsimport が呼び出されます。なんらかの理由で、NetBeans の起動後に「クリーンとビルド」を 1 回しか実行できません。以降の試行はすべて、次のエラーで失敗します。

init:
undeploy-clean:
deps-clean:
do-clean:
Deleting directory /Users/justin/Development/flower_vs/build
Deleting directory /Users/justin/Development/flower_vs/dist
check-clean:
clean:
init:
deps-module-jar:
deps-ear-jar:
deps-jar:
wsimport-init:
Created dir: /Users/justin/Development/flower_vs/build/generated-sources/jax-ws
wsimport-client-ChartDataService:
Created dir: /Users/justin/Development/flower_vs/build/generated/jax-wsCache/ChartDataService
command line: wsimport -d /Users/justin/Development/flower_vs/build/generated/jax-wsCache/ChartDataService -extension -Xnocompile -Xendorsed -keep -s /Users/justin/Development/flower_vs/build/generated/jax-wsCache/ChartDataService -catalog /Users/justin/Development/flower_vs/catalog.xml -verbose /Users/justin/Development/flower_vs/src/conf/xml-resources/web-service-references/ChartDataService/wsdl/dev_8080/flower/analysis/ChartDataService.wsdl -p name.justinthomas.flower.analysis.services.ChartData -wsdllocation http://dev:8080/flower/analysis/ChartDataService?wsdl
/Users/justin/Development/flower_vs/nbproject/jaxws-build.xml:31: Error starting wsimport: 
BUILD FAILED (total time: 1 second)

注意された行は、このターゲットの「wsimport」ディレクティブです。

<target name="wsimport-client-ChartDataService" depends="wsimport-init">
  <mkdir dir="${build.generated.dir}/jax-wsCache/ChartDataService"/>
  <wsimport sourcedestdir="${build.generated.dir}/jax-wsCache/ChartDataService" destdir="${build.generated.dir}/jax-wsCache/ChartDataService" wsdl="${basedir}/${conf-dir}xml-resources/web-service-references/ChartDataService/wsdl/dev_8080/flower/analysis/ChartDataService.wsdl" catalog="catalog.xml" extension="true" verbose="true" wsdlLocation="http://dev:8080/flower/analysis/ChartDataService?wsdl" xnocompile="true" xendorsed="true" package="name.justinthomas.flower.analysis.services.ChartData">
    <depends file="${basedir}/${conf-dir}xml-resources/web-service-references/ChartDataService/wsdl/dev_8080/flower/analysis/ChartDataService.wsdl"/>
    <produces dir="${build.generated.dir}/jax-wsCache/ChartDataService"/>
  </wsimport>
  <copy todir="${build.generated.sources.dir}/jax-ws">
    <fileset dir="${build.generated.dir}/jax-wsCache/ChartDataService">
       <include name="**/*.java"/>
    </fileset>
  </copy>
</target>

コマンドラインから wsimport 行を手動で (コピーして貼り付けて) 正常に実行できます。そうすると、NetBeans は次の Web サービスターゲットでエラーになります。

このエラーを修正するには、NetBeans を閉じて再起動する必要があります。それができたら、再び行き詰まる前にもう一度「クリーン アンド ビルド」を実行できます。

この問題は Mac でのみ見られます。Windows 7 にインストールした NetBeans にはこの問題はありませんが、Mac の問題を説明する可能性のある構成の違いは見つかりません。

wsimport に対して表示されるエラー メッセージがまったく役に立たないことは明らかです。実際に何が起こっているのかを理解するために、より詳細なエラー メッセージを取得する方法がわかりません。どうすればそれができるか知っていますか?競合を引き起こしているライブラリがロードされていると推測していますが、その問題がどこにあるかを追跡するためにどこから始めればよいかわかりません。

前もって感謝します!

4

1 に答える 1

3

私はこれと同じエラーを抱えていました。それを修正するために私がしたのは削除することだけでした

catalog="catalog.xml"

wsimportタグ属性から、これまでのところ問題は発生していませんが、NetBeans6.9で何度でもクリーンアップおよびビルドできます。あなたはこのようになります:

<target name="wsimport-client-ChartDataService" depends="wsimport-init">
  <mkdir dir="${build.generated.dir}/jax-wsCache/ChartDataService"/>
  <wsimport sourcedestdir="${build.generated.dir}/jax-wsCache/ChartDataService"   destdir="${build.generated.dir}/jax-wsCache/ChartDataService" wsdl="${basedir}/${conf-dir}xml-resources/web-service-references/ChartDataService/wsdl/dev_8080/flower/analysis/ChartDataService.wsdl" extension="true" verbose="true" wsdlLocation="http://dev:8080/flower/analysis/ChartDataService?wsdl" xnocompile="true" xendorsed="true" package="name.justinthomas.flower.analysis.services.ChartData">
    <depends file="${basedir}/${conf-dir}xml-resources/web-service-references/ChartDataService/wsdl/dev_8080/flower/analysis/ChartDataService.wsdl"/>
    <produces dir="${build.generated.dir}/jax-wsCache/ChartDataService"/>
  </wsimport>
  <copy todir="${build.generated.sources.dir}/jax-ws">
  <fileset dir="${build.generated.dir}/jax-wsCache/ChartDataService">
     <include name="**/*.java"/>
   </fileset>
  </copy>
</target>
于 2010-11-25T14:14:02.307 に答える