2

java-5 環境で jax-ws を使用したいと考えています。jaxws-rt 2.2.5 は、jax-ws サービスへのアクセスを許可することを約束します。ただし、maven リポジトリによると、このアーティファクトは約 12 の他のアーティファクトに依存しています。私のエンタープライズには、アーティファクトをエンタープライズ リポジトリに追加することを困難にする制約があり、ダースのアーティファクトを追加することは、1 つだけを追加することよりもはるかに困難です。この問題のため、追加の依存関係を必要とせずに jax-ws Web サービス クライアントを作成するために使用できる、より大きなアーティファクトがあるかどうかを知りたいです。

外部依存関係がないバンドルされた jax-ws jar を使用できますか?

4

2 に答える 2

2

これを行うハックな方法が 1 つあります。

  1. 12 個の依存関係をダウンロードして、ローカル リポジトリに追加します。

  2. 12 の依存関係に依存する Maven プロジェクトを作成し、Maven の「shade」プラグインを使用して、12 の JAR を 1 つの JAR に結合する「Uber Jar」を構築します。JAR に README ファイルを含めて、JAR がどのように、またなぜ作成されたかを説明する場合があります。

  3. Uber Jar ファイルをビルドします。

  4. 承認のために Uber Jar ファイルを送信します。


率直に言って、これは技術的に劣ったアプローチだと思いますが、企業の官僚機構がアップロードを困難にしている場合は、必要なことを行ってください.

于 2013-06-27T15:05:56.243 に答える
1

Java 5 を使用する JAX-WS には、かなりの数のライブラリが必要です。これは、Metro、CXF、Axis、またはその他のいずれを選択する場合でも当てはまります。

私が考えることができるオプションは次のとおりです。

  • 可能であれば Java 6 に移行してください。ほとんどの場合、jaxws-rt 2.2.1-1 (グループ org.glassfish.metro から) で十分です。
  • 内部およびアプリケーション サーバー (Jboss、Glassfish など) にデプロイします。すべてがすでにそこにあるはずです
  • サーブレット コンテナー (Jetty、Tomcat など) 内で戦争を展開します。依存関係はその war (サーブレット API 2.5 以降) に分離されます。

lib folderそれ以外のものは、おそらくあなたの/classpathと、おそらくあなたのendorsedフォルダの「汚染」につながるでしょう。

于 2013-06-27T15:05:06.290 に答える