短縮版:
JEE6 アプリケーションのコンテキスト: 開発者ワークステーションで IDE を使用しながら、専用のビルド サーバー (CI / 統合テスト用) で IDE に依存しないマスター ビルド プロセスをセットアップする最良の方法は何ですか? このようなアプローチに適している Java IDE はどれですか?
ロングバージョン:
JBossアプリケーション サーバーにデプロイするJSF2/PrimeFaces/EJB3.1 JEE6アプリケーションを構築しています。EAR、WAR、およびJARアーティファクトを専用マシンでAntスクリプトを使用して生成し、CI 方式で (おそらくJenkinsを使用して) 統合テストを行う必要があります。
また、チームが Java IDE を使用することも要件です (1 種類のみで、特別な心配はありません)。その結果、開発者は、ローカルにインストールされた独自の IDE を使用して、独自のテストおよび開発用にローカル アーティファクトを作成します。ただし、ビルド サーバーのメイン ビルド スクリプトを IDE から独立させたいと考えています。チームが使用する IDE が、外部から提供されたAntスクリプトを受け入れて密接に統合できない場合、メインのAntビルド スクリプトが異なり、独立して維持および進化する必要があるという状況につながる可能性があります。したがって、理想的には、同じ手作りのビルド スクリプトを開発者の IDE とビルド サーバーの両方で使用したいと考えています。このような設定で、開発者がAntを変更する必要があると判断した場合スクリプトの場合、変更はgit / svnを介して CI サーバーに到達し、後続のビルドに使用されます。たとえば、NetBeans の場合、 IDE から自動的に作成されたAntビルド スクリプトを使用したくないため、「手作り」を強調しています。ここで、このアプローチで対処しなければならない (そして私はむしろ避けたい) 気が遠くなるような詳細を参照してください。
したがって、主要な Java IDE (Eclipse、Netbeans、IntelliJ IDEA、その他) のどれが、外部から提供された Ant スクリプトを「プロジェクト定義」として受け入れ、それに密接に統合するのに適していると考えているかを知りたいです (オートコンプリートとデバッグ、ライブラリの追加など)。この SO 記事の議論は関連しているように見えますが、私のチームは 2 つの異なる IDE を使用しないため、まったく同じ状況ではありません。最後に、 NetBeans はMaven pom.xmlがプロジェクト ファイルである Maven ベースのプロジェクトを使用でき、他の IDE 固有のアーティファクトを処理する必要がないため、 Mavenが解決策を提供する可能性があることを理解していますが、十分なMavenがあります。 Web 上の FUD (議論を脱線させたくないので、情報源は引用しません) は、重大な事前の露出がなければ、主要な事業にそれを使用することに抵抗を感じます。