9

私が取り組んでいる Java プロジェクトの継続的インテグレーション システムをセットアップしようとしています。フロント エンドには Jenkins または同等のものを使用する予定です。Java プロジェクトは、IntelliJ IDEA IDE バージョン 11 を使用するように構成されています。問題は、コマンド ライン インターフェイスから IntelliJ IDEA 11 プロジェクトをビルドする方法がないことです。これは、CI フロントエンド (Jenkins) とインターフェイスできるようにするために必要です。 .

私が調べた潜在的な解決策がいくつかあります。それらは次のとおりです。

考えられる解決策 # 1

IntelliJ IDEA の「Ant ビルドの生成」機能を使用します。このソリューションには 2 つの問題があります。

  1. これは、生成された ant ファイルと IntelliJ アイデア構成ファイルを維持する必要があることを意味しますが、これはやりたくありません。または、ant ファイルをプログラムで定期的またはその場で再作成する必要がありますが、これは実現不可能です。これにはコマンドラインインターフェースもありません。
  2. とにかくうまくいきません。除外するように構成された Java ファイルがあり、生成された ant ファイルが適切に除外を実行しないという点で、プロジェクトはかなり複雑です。また、依存関係が正しく生成されていないようにも見えます。(徹底的に) Google を検索すると、このユーティリティは IntelliJ でさえサポートされておらず、使用を「避ける」必要があることがわかります。

考えられる解決策 # 2

サードパーティ アプリケーションを使用して、ant ビルド ファイル、つまりant-intellij-tasksを動的に生成します。このプロジェクトを見たときはかなり興奮しましたが、残念ながら 2009 年から更新されておらず、新しいバージョンの IntelliJ IDEA では動作しないようです。このような最新で機能している他のライブラリは見つかりません。

いくつかの追加メモ

このリンクは、他の人が同様の問題を抱えており、コマンド ライン インターフェイスが必要であることを示唆しています (リンクは、コンテストに必要なプラグインの説明です。ソースは IntelliJ IDEA 自体です)。

このツール セットを使用してビルドの自動化を設定した人はいますか? どうやってそれを成し遂げましたか?私が探している答えは、理想的には追加の構成ファイルの管理を必要とせず、コマンドラインに何かを入力してビルドを実行できるようにすることです。

4

2 に答える 2

6

プロジェクトを Maven に適合するように変換することは、プロジェクト構造で動作するように Maven をカスタマイズするよりも簡単です。

後者を行うこともできますが、ほとんどの場合、人々はプロジェクトをきれいにレイアウトする方法をまったく設計していません。Maven レイアウトを採用した後、プロジェクトははるかに管理しやすくなります。

デフォルトの Maven プロジェクト レイアウトの適切なパターンを適用すると、IDEA は自動的にそれを読み取り、完全に理解します。IDE のコマンド ラインで使用する同じコンパイラ出力を共有することさえあります。IDEA は pom.xml を構成ファイルとして使用します。

Ant はビルド プロセスのラッパーであるため、これを行うことはできません。Maven は依存関係管理メカニズムであるだけでなく、IDE がそれ自体を構成するために使用できるプロジェクトの抽象化です。

于 2012-05-03T04:54:05.180 に答える
0

TeamCity を使用して IntelliJ プロジェクトをビルドできます。これは問題なく動作し、自動化されており、コマンド ライン タスクや Ant タスクなどを実行できる多くのプラグインがあります。

これは、私が定期的に使用するワークフローの 1 つです。

TeamCity は Ivy リポジトリとして機能します。したがって、アーティファクトを設定する必要はありません。

私はmavenが好きです。それはすべて、あなたのニーズが何であるかによって異なります。Maven は、物事を Maven の方法で実行したい場合に最適です。これは非常に優れたワークフローです。

記録としては、Maven プロジェクトを適切に処理する IDE はほとんどありません。IntelliJ はまともな仕事をします。

于 2012-05-05T14:23:14.440 に答える