2

私が現在取り組んでいるサイトは、いくつかの Java プロジェクトと、Aそれらを参照するメインの Web プロジェクトで構成されています。私が使用している IDE は Eclipse Helios です。

私が達成しようとしているのは、新しいプロジェクトBをスタックに追加することです。このプロジェクトはメインのプロジェクトからも参照されますが、それ自体が Web プロジェクトです。Bの Deployment Assemblyに追加するとA、発行時に、Eclipse は自動的にそれを war としてパッケージ化し、サーバーの にデプロイしますWEB-INF/lib

jar としてデプロイしたいのですが、プロジェクトの Web の性質も維持します。これは、プロジェクトで実行されるいくつかの機能 (およびテスト) があるためです。から jar を構築するための ant タスクがありBますが、Eclipse でそれらを使用する方法がわかりません。また、Eclipse で Web プロジェクトから jar をデプロイできるかどうかもわかりません。

jar を手動で (ワークスペースからのアーカイブとして) 追加できますが、それは、誰かがすべてのプロジェクトをクリーンアップするたびにB、ビルドはクラスのみをコンパイルし、デプロイはそれらを戦争。

PS私はデザインが貧弱であることを知っていますが、私には権限がないので、それを変更することは問題外です:)。

4

3 に答える 3

2

私はEclipse Lunaで私のために働く次の解決策を見つけました

  1. プロジェクト B "プロジェクト ファセット" : "静的 Web モジュール" または "動的 Web モジュール" の代わりに "ユーティリティ モジュール" を選択します。

  2. プロジェクト A "配置アセンブリ" : "B" を削除し、別の機会に追加します。

=> B の「デプロイ パス」は B.jar になりました

于 2015-05-19T15:50:37.760 に答える
1

次のようなことができます。

  1. シェル/バッチ スクリプトを記述します。
    • JARファイルを作成するプロジェクトBのANTスクリプトを呼び出します。
    • 次に、プロジェクト A の ANT スクリプトを呼び出します。
  2. プロジェクト A の ANT スクリプトを更新し、コピー タスクを追加します。このファイル コピー タスクでは、相対パスを使用して、手順 1 で作成した JAR ファイルをプロジェクト A の WEB-INF/lib ディレクトリにコピーします。
  3. Eclipse で、External Tool > External Tools Configuration > Program > New Progamこの Shell/Batch スクリプトに移動して追加します。

構築したいときはいつでも。メニューからこの外部ツールを実行します。

  • ビルドには常に最新の Project B が含まれます
  • ANT タスクは小さいままです。

Eclipse デプロイメント アセンブリーへの Web プロジェクトの追加

Thorbjørn Ravn Andersenが私が答えた別の質問でこれを指摘するまで、私はそのようなことを知りませんでした。そこで述べたように:

展開に何が入るかは、ビルド パスではなく、動的 Web プロジェクトの [設定] の [展開アセンブリ] エントリによって決まります。

しかし、あなたはすでにこれを試したことがあるかもしれません。


編集#1:文法を修正編集#2:詳細情報を追加

于 2011-01-11T12:10:36.650 に答える
1

最も簡単な方法は次のとおりです。ファイル -> エクスポート... -> Java -> Jar ファイル

Ant を使用するには: プロジェクトのプロパティを開き、[ビルダー] に移動し、[新規] をクリックし、[Ant ビルダー] を選択します。

于 2011-01-11T12:07:02.240 に答える