2

最終的に、私たちは私の会社でのビルド/デプロイプロセスを理解しようとしています。開発者として、私は自分のソースコードを監査グループに提供する必要があります。彼らは、セキュリティの逸脱についてソフトウェアをレビューします。ソースが監査に合格すると、コードはソフトウェア構成グループに送られます。彼らの仕事は、私のアプリをアーカイブしてWARにコンパイルすることです。次に、WARファイルがIT部門に提供され、IT部門がサーバーにWARを配置します。自己完結型のプロジェクトが1つあれば、プロセスは簡単だと思います。

しかし、Eclipseには2つのMavenプロジェクトがあり、一方が他方に依存しています。1つのプロジェクトcoreがコア機能を提供します。これらのコア機能は他のすべての(内部)Webアプリプロジェクトで使用されるため、分離しました。

 Logging
 filters
 common models (phonebook, employee, etc)
 common utilities (Emailing employess, String utils, etc..)

他のプロジェクトでは、たとえば、 POMにproject1依存関係を追加します。coreこれを行う必要があるかどうかはわかりませんが、Eclipseプロジェクトのプロパティを編集し、coreプロジェクトへの参照を追加しました。(Mavenの新機能である)いくつかの調整によりProject1、JBossのローカルインストールにデプロイすることができました。core-0.0.1-SNAPSHOT.jarWARを開くと、WEB-INF/libフォルダーに自動的に含まれていることがわかりました。

しかし、ソースをソースに手動でコピーせずproject1に、ソースも必要とするソースをSCMに提供するにはどうすればよいですか。 corecoresporject1s

にコピーcore-0.0.1-SNAPSHOT.jarすることもできますが、コア機能を追加または微調整した可能性があるため、新しいアプリをデプロイするたびにソースをProject1確認する必要があります。cores

4

2 に答える 2

1

パッケージ化の問題を解決するには、Maven Assembly Pluginを使用できます。すべてのソースと依存関係を 1 つのファイルに含めることができます。

たぶん、あなたのニーズにさらに適した Maven プラグインがあります。

于 2013-02-07T08:58:28.953 に答える
1

Maven SNAPSHOT とリリース リポジトリについて詳しく学ぶ必要があります。次に、生成された jar、war、javadoc、およびソース (アーティファクトと呼ばれる) の宛先としてNexus サーバーをインストールします。

その後、段階的な展開オプションを備えた商用の Nexus バージョンに興味を持つかもしれません。 http://www.sonatype.com/people/2009/06/using-staging-repositories-for-deployment-in-nexus/

于 2013-02-06T10:10:08.963 に答える