同じ問題がさまざまな場所で見られましたが、グーグルでかなりの部分を試しても解決できませんでした。私がやろうとしていること(より大きな画像)は、通過することです Java Webサービスのチュートリアル 、これは同期していない点で思われます、
特に here をコンパイルしようとすると、次のメッセージが表示されます。
C:\ javaeetutorial5\examples\jaxws\common\targets.xml:26:taskdef classcom.Sun.tools.ws.ant.WsImportは見つかった
Jarの配置または環境変数の変更のさまざまな組み合わせを試しましたが、結果はありませんでした。成功したストーリーはありますか?
完全なビルドエラーメッセージは次のとおりです。
ビルドに失敗しました
C:\ javaeetutorial5\examples\jaxws\helloservice\build.xml:4:この行の実行中に次のエラーが発生しました:
C:\ javaeetutorial5\examples\jaxws\common\targets.xml:26:taskdefクラスcom.Sun.tools.ws.ant.WsImportに必要なクラスが見つかりません:org/Apache/tools/ant/DynamicConfigurator
クラスローダーAntClassLoaderの使用[C:\ Program Files(x86)\ Java\jdk1.6.0_23\lib\tools.jar]
合計時間:0秒
そして、対応するtaskdef:
<taskdef name="wsimport" classname="com.Sun.tools.ws.ant.WsImport">
<classpath refid="jaxws.classpath"/>
</taskdef>
また、裏書きディレクトリをのぞいてみます。
C:\javaeetutorial5\kschneid>cd %Java_HOME%
C:\Program Files (x86)\Java\jdk1.6.0_23>dir lib\endorsed
Volume in drive C is OSDisk
Volume Serial Number is AAAA-BBBB
Directory of C:\Program Files (x86)\Java\jdk1.6.0_23\lib\endorsed
25/02/2011 09:34 <DIR> .
25/02/2011 09:34 <DIR> ..
25/02/2011 09:34 105,134 jaxb-api.jar
25/02/2011 09:33 54,476 jaxws-api.jar
2 File(s) 159,610 bytes
2 Dir(s) 110,907,056,128 bytes free
C:\Program Files (x86)\Java\jdk1.6.0_23>
まあ、明らかにこの問題への solution を含むWebサイトへのリンクは受け入れられないので、ここに答えを貼り付けます。
<property name="BUILD_LIBS" location="C:/Projects/Build/Libs/" />
<taskdef name="wsimport" classname="com.Sun.tools.ws.ant.WsImport">
<classpath>
<pathelement location="${BUILD_LIBS}/jaxws-ri/lib/jaxws-tools.jar"/>
</classpath>
</taskdef>
問題は、関連する jaxws jarがクラスパスにないためです。上記のpathelementノードを参照してください。 jarをクラスパスに追加すると、問題が解決します。
Netbeans x.yの問題は、次のように修正できます。
ここで、x.y = 7.1、7.2、8.0など
<wsimport>
antタスクは、まったく同じことを行うwsimport.exeがあるにもかかわらず、JDKに含まれていません。
Antタスクが本当に必要な場合は、jaxws-riをダウンロードして、libフォルダーの23(!)jarを使用できます。
または、この回避策はwsimport.exeを呼び出して使用できます。
<target name="generate-client" >
<exec executable="${Java.home}/../bin/wsimport">
<arg line="-keep -d build/classes -p ebay.apis -s src -wsdllocation http://localhost:7070/Ebay?wsdl eBaySvc.wsdl"/>
</exec>
</target>
特に何かを学ぼうとするときに、IDE以外の開発を完全にサポートします;)。この単純なビルドファイルから始めてみてください(JAX-WS RIインストールの実際の場所を使用してください)。
<project name="jaxws-tutorial" default="wsimport">
<property name="jaxws.home" location="D:/jaxws-ri-2_2_1"/>
<path id="wsimport.classpath">
<fileset dir="${jaxws.home}/lib" includes="jaxws-tools.jar"/>
</path>
<taskdef name="wsimport" classname="com.Sun.tools.ws.ant.WsImport" classpathref="wsimport.classpath"/>
<target name="wsimport">
<wsimport>
<arg value="-version"/>
</wsimport>
</target>
</project>
ant
を実行すると、次のような出力が表示されます。
wsimport:
[wsimport] Consider using <depends>/<produces> so that wsimport won't do unnecessary compilation
[wsimport] JAX-WS RI 2.2.1-b01-
Java 6を使用しているようですので、 "JDK6で実行中" に注意してください。
classname="com.Sun.tools.ws.ant.WsImport"
からclassname="com.Sun.tools.ws.WsImport"
、この問題を修正しました。
Netbeans 11をテストしてからNetbeans 8.2に戻った後も、同じ問題が発生しました。解決策はファイルでした
ProjectName\nbproject\private\private.properties
そのエントリがあった
user.properties.file=XXXX\\AppData\\Roaming\\NetBeans\\11.0\\build.properties
正しいインストールに戻す
user.properties.file=XXXX\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
問題を解決しました。一部のプロジェクトでは、Netbeansがダイアログボックス「プロジェクトProjectNameはbuild.properties
別のNetbeansインストールから」、[このインストールを使用]の順にクリックします。
これは私のために働きました:
公式サイト からJava-WSライブラリをダウンロードします。それをextra-libディレクトリに置きます。このディレクトリは、build.xmlと同じレベルにあります。 build.xmlで、jaxws-build.xmlから「wsimport-init」という名前のAntタスクをコピーし、次のモードのように変更します。
...
<target name="wsimport-init" depends="init">
<mkdir dir="${build.generated.sources.dir}/jax-ws"/>
<taskdef name="wsimport" classname="com.Sun.tools.ws.Ant.WsImport">
<classpath>
<fileset dir="./extra-lib">
<include name="**/*.jar"/>
</fileset>
</classpath>
</taskdef>
</target>
...
このエラーを回避するには、[ツール]-> [オプション]を使用して[その他]をクリックし、[Ant]タブで[Jar/Zipを追加]を使用してライブラリを検索して追加します webservices-tools.jar および webservices-rt.jar ディレクトリ
私はまったく私を満足させない答えを見つけました:インストールされたnetbeansは物事を一緒に結合することを処理します。それでもコマンドラインは機能しません(つまり、環境が区画化されており、良好です)。チュートリアルをフォローアップすることはできますが、コマンドラインからすべてを実行する必要があると私はまだ信じています(私の食事療法にUnixが多すぎませんでしたか?)
さらに良いことに、コマンドラインツールwsimportを使用してjarまたはファイルを生成できます。
http://docs.Oracle.com/javase/6/docs/technotes/tools/share/wsimport.html
build/classesフォルダーにファイルを生成し、そこからant javacで参照できます
Eclipse IDE=を使用していて、この問題に直面している場合、これは私のために働いたものです。ウィンドウ>設定に移動します。左側にあるAntオプションを見つけます。
それを展開すると、ANTランタイムが見つかります。そのオプションを選択し、[クラスパス]タブに含まれているjarを確認します。
[外部ジャーの追加]オプションを選択します。次に、システムのantホームフォルダーに移動します。 libフォルダーに移動し、すべてのjarファイル/不足しているjarファイルを追加します。
これにより、ant-buildの欠落している依存関係が解決されます。
お役に立てば幸いです。