2

私はmavenが初めてで、mavenを使用してwsdlファイルからJavaコードを生成したいと考えています(wsimportプラグインを使用していますか?)。これは私のプロジェクト(URLではありません)にあります。

wsdl ファイルは myprojet/src/main/resources のどこかに、生成されたソースは myproject/target/generatedsources/ws にあるはずだと思います。

これらの場所の選択は大丈夫ですか?もしそうなら、maven を使用して wsdl から指定されたフォルダーへのソースを作成するにはどうすればよいですか? ソースの Java パッケージ名を選択できますか? するべきか ?次に、ソースからjarファイルを作成する必要がありますか? 生成されたソースがコンパイルのために (クラスパスで) アクセス可能であることを確認するにはどうすればよいですか?

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

4

2 に答える 2

2

wsimport プラグインを使用してこれを行う方法はいくつかありますが、ほとんどの例では pom.xml に関する知識が必要になります。

Apache CXFは、まさにこの目的のための人気のある無料のプラグインです。

<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
    <execution>
        <id>generate-sources</id>
        <phase>generate-sources</phase>
        <configuration>
            <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
            <wsdlOptions>
                <wsdlOption>
                    <wsdl>${basedir}/src/main/resources/myService.wsdl</wsdl>
                </wsdlOption>
            </wsdlOptions>
        </configuration>
        <goals>
            <goal>wsdl2java</goal>
        </goals>
    </execution>
</executions>

注: 生成されたソースから確実に jar を作成できますが、これは POM 内の別のエントリになります。

于 2013-04-23T22:17:24.123 に答える
0

Apache の Axis2 を確認してください。これは、Web サービス用の WSDL に基づいてコードを生成するのに役立つように特別に設計されています。基本的に、それはまさにあなたが探しているものです:

http://axis.apache.org/axis2/java/core/

編集: 拡張するには、通常、wsdl2java(.bat または .sh) ファイルを実行し、それを wsdl (Web またはローカル コピーのいずれか) にポイントし、他のすべてを生成します。すべてを jar にパッケージ化することもできます (「よりクリーン」なため、私の好みの方法です)。生成されたコードにアクセスして何かを変更する必要はおそらくないでしょう。そのjarをクラスパスに追加するだけで、他のライブラリと同じようにインポートして使用できます。

于 2013-04-23T22:22:56.110 に答える