5

-clientjar wsimport パラメーターを使用して、WebService を jar にエクスポートしています。

>wsimport -d C:\webservice -keep -clientjar webservice.jar http://localhost:8080/WebService?wsdl

ソース コード (.java ファイル) を含むフォルダーと webservice.jar が作成されます。

jar は次のようになります。

com
  |
  company
        |
        webservice
                 |
                 a bunch of .class files

META-INF
       |
       wsdl
          |
          wsdl file

ただし、プロジェクトの WEB-INF/lib フォルダーに配置すると、クラスは(既定のパッケージ)にあり、次のように名前が付けられます。

com\company\webservice\file.class

理由がわかりません。-p パラメータを使用してパッケージ名を指定しましたが、機能しません。

手がかりはありますか?

4

5 に答える 5

3

-clientjarここでの問題は、オプションがOPが期待するものとはまったく異なる目的を意図していることだと思います。

このオプションの目的は-clientjar、生成されたアーティファクト内に WSDL のコピーを埋め込んで、アプリケーションの jar ファイルの一部にできるようにすることです。バンドルされた WSDL を持つ (そしてもちろん実際にそれを使用する) 利点は、Web サービスのコンシューマがエンドポイントを呼び出して、WSDL を開始するたびにエンドポイントをダウンロードする必要がないことです。

リンク:

https://weblogs.java.net/blog/ramapulavarth/archive/2010/09/03/wsimport-clientjar-option-ease-client-side-web-service-progra

-clientjar オプションを指定した jaxws-maven-plugin の使用

于 2014-07-01T14:40:17.627 に答える
0

-clientjar を使用したので、すべての作業が自動的に行われますが、お気に入りのファイル アーカイバを使用して unzjar し、再度 jar しました。

于 2014-03-07T20:47:27.760 に答える