2011-02-24 12 views
44

バインドされたMavenプロジェクトでのIntelliJ IDEAのコンパイル、デプロイ、およびパッケージ化のワークフローについて教えてもらえますか?IntelliJ IDEA:Maven、プロジェクトのコンパイルとデプロイ

私はIDEAのデバッグモードでtomcatサーバーを起動しているときにいくつかの誤解を受けました。たとえば、アーティファクト - 戦争アーカイブが1つあります。 私がデバッグモードを実行しているときに分かっているように、IDEAは変更されたコードをwar-archiveに再コンパイルして更新します。

しかし、パッケージ化されたMavenアーティファクトはどうなりますか? IntelliJはそれを更新しますか?または、変更されたコードが環境にアップロードされることを確認するには、起動前に 'Buld maven before bulb'オプションを設定する必要がありますか?

答えて

61

Intelli Jは、独自のビルドプロセスを使用するプロジェクトをビルドするためにmavenを使用しません。 pomファイルをプロジェクトの説明として使用します。

これは、Tomcatで実行しているときにwarファイルなどのアーティファクトを作成したい場合、Run/Debug ConfigurationsダイアログでIntelliJにWarをビルドするよう指示するだけです。 IntelliJは、実行/デバッグ構成の[展開]タブで指定した成果物を自動的に構築します。したがって、あなたが爆発した戦争を指定すると、それは爆発した戦争を構築します。あなたが正規戦争を指定すると、それは通常の戦争を構築します。

カスタムプラグインを実行したりターゲットをビルドする必要がある場合があります。この場合、カスタムメイドの目標を実行するようにIntelliJを設定できます。

また、artifactをビルドするのではなく、mavenパッケージのゴールを実行するようにintellIJに指示することもできます。 IntelliJは、対象のディレクトリの下にあるものをtomcatに配置します。

重要なのは、IntellIJが2つのビルドシステムを使用していることです。それぞれのビルドシステムに何をすべきかを伝える必要があります。また、IntelliJに何を使用するかを伝える必要があります。 IntelliJは、あなたが何かのためにMavenを使用するように指示しない限り、プロジェクトがインポートされると、デフォルトでそれ自身のビルドシステムを使用します。

IntelliJはpomファイルで指定したアーティファクトをビルドしますが、Mavenツールウィンドウでデプロイメントターゲットをクリックしない限り、アーティファクトリポジトリ(ローカルまたはその他のもの)をデプロイするようなことは行いません。

また、pomファイルを変更して自動再インポートが有効になっていない場合、これらの変更は[mavenツール]ウィンドウから[強制再インポート]オプションをクリックするまでプロジェクトに反映されません。

+0

は私にとって素晴らしいことだ助け

希望...のIntelliJの成果物を使用するよりも、その仕事が遅くなるのでしょうか?ありがとう。 –

+0

@jon私は、主にMavenがすべてのポンを試して引っ張るので、それがわずかに遅くなるかもしれないと思います。あなたがオフラインモードで走っているなら、それはおそらく同じでしょう。 –

+0

良い情報、ありがとう! –

-4

あなたはそれを探していると思います。

Maven IDEA Plugin

IDEAプラグインを使用すると、IDE、IntelliJののIDEAを使用して、それに取り組むことができるようにプロジェクトのファイル(IPR、IML、およびIWS)を生成するために使用されます。私は、包装段階でリソースを行ってフィルタリングしているので、 'パッケージゴールを実行するためのIntelliJを告げる

+2

IntellIJは自動的にpomを読み込みます。xmlに変換し、必要なすべてのファイル(ipr、iml、およびiws)を生成します。これ以上Maven IDEAプラグを使用する必要はありません。 –

関連する問題