IntelliJ:複数のプロジェクトに取り組む


332

Mavenで複数のプロジェクトを作成します(A、B、Cと名付けましょう)。プロジェクトAは、プロジェクトCの.jarを使用するプロジェクトBの.jarを使用します。

すべてのA / B / Cプロジェクトのコードを変更しています(AはMVCアプリ、Bはビジネスサービス、Cはいくつかの共有レイヤーです)。

問題は、Eclipse / NetBeansでは、それらすべてを一度に表示でき、それらを簡単に変更できることです。IDEAでは、3つのインスタンス(またはnでは、IntelliJ IDEAのインスタンス)ます。

何か不足していますか?IntelliJを使用する際のより良いアプローチはありますか?これがIntelliJの最大の欠点です。


3
今日までの回答を見ると、IntelliJがEclipseが「プロジェクト」と呼ぶものをモジュールとして定義し、「ワークスペース」をプロジェクトと定義していることがわかります。アイデアは、同じプロジェクトのモジュールがかなり関連していることを確認することです。したがって、プロジェクトAがプロジェクトBに依存しているが、どちらもプロジェクトCにまったく関係がない場合、プロジェクトAとBを同じIntelliJプロジェクトのモジュールとして開き、Cを別のIntelliJインスタンスの別のプロジェクトで開くことをお勧めします。デザインに同意することも、同意しないこともできますが、(アイデアを正しく把握していると仮定して)その背後にある考えを尊重します。
John Chesshir

回答:


134

はい、あなたの直感は良かったです。intellijの3つのインスタンスを使用しないでください。1つのプロジェクトを開き、アプリケーションの他の「パーツ」をモジュールとして追加できます。プロジェクトブラウザ経由で追加します。デフォルトのホットキーはalt + 1です


1
私は同じことをしています:メインプロジェクトをインポートしてから、「インポートモジュール」を使用して2番目のプロジェクトをインポートしますが、それ以降-「これらのモジュールはMaven構造から削除されました...」を削除しますか?プロジェクトからも?」-それから私は 'いいえ'を押します。ただし、このダイアログは何度も表示されます。私に何ができる?
nnhthuan 2014

99
以下のより良い答え
redDevil

3
@redDevilどれ?
Piotr Findeisen 2016年

4
@redDevilいいえ!この回答はより一般的です。maven以外のプロジェクトがある場合、投票数の多い回答はそれらをカバーしないため、この回答の方が適しています。2つの答えは異なる状況に取り組み、同等に関連性があります。一方が他方に勝るものはありません。
luk2302 2017

2
これは「Mavenのみ」の回答よりも優れていますが、同時に表示したい無関係なプロジェクトがある場合(別のプロジェクトのコードを参照するための簡単なアクセスなど)、または依存関係のあるライブラリをサポートしている場合は役に立ちませんあなたが焦点を当てているプロジェクト。ここでIJがEclipse / NetBeansモデルを使用しなかったのは非常にイライラしました。IJへの切り替えを妨げている主な原因です。
Manius

423

これはIntelliJの最近のバージョンで改善されたと思います。私の現在のバージョン(12.0.2)では、同じ「ワークスペース」に任意の数の個別のMavenプロジェクトを追加できます。

これを行うために見つけた最も簡単な方法は、[ +Mavenプロジェクト]ウィンドウ([表示]> [ツールウィンドウ]> [Mavenプロジェクト])の小さなアイコンをクリックして、インポートする追加のpomファイルを選択することです。


2
追加するだけ:ローカルプロジェクトの場合、Mavenプロジェクトが追加されると、プロジェクトパネルにロードされます。
Aram Kocharyan、2014年

9
これらのプロジェクトが異なるgitリポジトリにある場合は、設定([設定]> [バージョン管理]> [Git])で[リポジトリを同期的に制御]を確認できます。IntelliJは、プッシュ、更新、ブランチ選択を複数のプロジェクト間で同期し続けます。
Tim Van Laer、2015

13
IntelliJが初めてで、「Maven Projects」ウィンドウがどこにあるかわからない場合:右上隅。
dustin.schultz 2016年

1
2017年のバージョンとは異なります。jetbrains.com
help /

3
したがって、複数のプロジェクトを開く必要があるが、それらがGradleプロジェクトまたはAntプロジェクトである場合は、まだうまくいきません。結構です... NetBeansやEclipseのように、3つすべてを開く必要があります。適切なワークスペースがないことが、私がまだIJを使用しない最大の理由です。
Manius

216

次の2つの手順に従ってください。

ステップ1:「Maven Projects」を開く

ここに画像の説明を入力してください

ステップ2:インポートするプロジェクトを選択:

ここに画像の説明を入力してください


20
写真は千の言葉の価値があります。
Neeraj Jain

3
おかげで、これは本当に便利でした
J.アダム

3
この回答は、特にスクリーンショットを使用する際に非常に役立ちます。ありがとうございました。
Chaklader Asfak Arefe

1
これが私が探している答えです。
どうも

1
インスタンスにオプションが表示されない:2019.3 community
Marinos An

134

前提条件

すべての関連プロジェクトを同じにするルートディレクトリに。

手順

1)最初に新しい空のプロジェクトを作成します

新しい空のプロジェクト


2)次に、すべてのプロジェクトのルートディレクトリを選択します。

これで空のプロジェクトが作成され、次のステップで実行するモジュール構成を単に記憶する.ideaディレクトリが作成されます

ルートディレクトリを選択


3)次に、次のウィンドウで、さまざまなプロジェクトをモジュールとしてインポートします

プロジェクトをモジュールとしてインポートする


4)次のウィンドウで各プロジェクトをインポートするには、単にbuild.gradleまたはpom.xmlをダブルクリックします

プロジェクトは新しいモジュールとしてインポートされます。 ビルドファイルを選択


5)完了しました。これで、すべてのプロジェクトがモジュールとして、同じIntelliJプロジェクトで開かれました。

結果


16
これは、この質問に対する正確な正解です。まず、プロジェクトを作成して空にし、次に既存のプロジェクトを追加します。ありがとう。
hrzafer 2017

4
あなたは解決策を持っています。しかし、「前提条件は、すべての関連プロジェクトが同じルートディレクトリにあること」です。必須ではありません。私はmavenプロジェクトで試してみましたが、Intelllijバージョン2017.3で問題なく動作します。しかし、私はintellij標準モジュールで試したことはありません。
Gauthier Peel

2
正確な解決策!
Satheesh

2
トップ回答。ありがとうございます:)
AnarchoEnte 2018年

2
Intellij Idea 2018.3とGradleを使用してくれました。
切開

53

IntelliJ 14.1.2では、次のようにしました。

選択File-> Project Structure->Modulesます。

選択+してImport Moduleそして(ポンポンが存在するかディレクトリ)プロジェクトのディレクトリを選択し、[OK]をクリックします。

画面の次のフローをたどると、をクリックFinishすると、既存のプロジェクトと並んでプロジェクトが表示されます。

ここに画像の説明を入力してください


このようなモジュールを追加することはできません。Cannot import anything from C:/Projects/
エイリアン、2015

@ everalian、C:/ Projectsなどにpom.xmlがありますか?
Neo

いいえ、pom.xmlファイルはありません。私はGradleビルドを使用しているため。
エイリアン、2015

2
これは受け入れられる解決策です。すべてのプロジェクトがMavenを使用するわけではありません。
Babken Vardanyan 2017年

34

私はMavenプロジェクトに取り組んでいないため、解決策はどれもうまくいきませんでした。より簡単な解決策があります。移動:

ファイル->プロジェクト構造->モジュール。

ここに画像の説明を入力してください

モジュールを追加する代わりに、3番目のオプション(コピー)をクリックするだけです。ローカルディレクトリを参照し、追加するプロジェクトを選択します。モジュール名は自動的に解決されます。それでおしまい。

更新:複数のサブプロジェクトを含むプロジェクトを再度開く場合は、上記の手順をやり直さないようにするために、[ファイル]-> [最近使用した ファイルを開く]-> [Your Big Project]に移動します。


1
はい...ああはい....これは私が探している解決策です。Mavenモジュールまたはプロジェクトとしてインポートしても.ideaxxx.imlファイルは生成されません。これにより、Apacheタイルで問題が発生する可能性があります。バージョンで使用してい2018.1.5ます。本当にありがとう。

これは素晴らしいです!唯一の欠点は、IDEをエディターとしてのみ使用していて、コンパイルして実行するために正しいフォルダーに移動する必要があることだけです。誰かがこのソリューションを複数のフォルダー(コピーされたモジュール)に使用し、それでもコンパイルしてエディターで実行する簡単な方法がありますか?
グレッグヒルストン

11

@Neo回答を展開するには:ディレクトリを選択した後。import module from external modelモデルを選択して選択します(この場合はmaven)。

モデルを選択

次にkeep project files、次のダイアログのオプションを確認します。すべてのファイルを元のディレクトリに保持します。

オプション

最終的なプロジェクト構造は次のようになります。

構造

これで、モジュールを他のモジュールの依存関係として依存関係として追加できますpom.xml。依存関係のソースコードを変更すると、Intellijがプロジェクトの更新を処理します(mvn依存関係のビルドを手動で実行する必要はありません)。


8
  • 新しい空のプロジェクト
  • ファイル->新規->既存のソースからのモジュール

6

プロジェクト間の切り替えを快適にするArmoryプラグインを使用できます。プロジェクトリストのデフォルトのショートカットはAlt + Aです。

プロジェクトリストウィンドウのスクリーンショット

デフォルトでは、現在開いているプロジェクトがこのリストの上部に表示されます(太字)。


6

設定を開く->外観と動作->システム設定->選択(プロジェクトを新しいウィンドウで開く)して適用します。ここに画像の説明を入力してください

その後、複数のプロジェクトを開いて編集できます。


5
これはまさにOPが回避しようとしていることです。彼は同じウィンドウで、3つのプロジェクトすべてを一度に望んでいます。
Simon Forsberg、2017

6

Gradleを使用する人も同じように利用できます:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

移動:1.表示->ツールウィンドウ-> Gradle 2.ボタンをクリックし+build.gradleファイルを追加します。


Community EditionまたはUltimate Editionを使用していますか?Intellijは初めてで、CE(2019.3.3)しかありません。このメニューにはGradleはありません。
マイクげっ歯類

4

「プロジェクト構造」を開くウィンドウで「F4」を押してから、「+」アイコンまたは「Alt + Insert」をクリックして、インポートする新しいプロジェクトを選択します。次に[OK]ボタンをクリックします...


キーをありがとう。@ThisIsFlorianKの回答で何かを追加するのを忘れた場合、それは役に立ちました!
Satheesh

4

Mavenプロジェクトを追加するためのボタンを使用して、プロジェクトのフォルダー内に移動します。次に、pom.xmlファイルを選択してIntelliJに追加します。

ここに画像の説明を入力してください


1

Mavenを使用せずに新しいプロジェクトを作成して追加したい場合(私はintellij 14.1.3を使用しています):

  1. プロジェクトビューで最上位のフォルダーを右クリックし、[新規]-> [モジュール]を選択します。
  2. 追加するプロジェクトと同じ名前をモジュールに付けます
  3. トップメニューから[ファイル]-> [新規]-> [プロジェクト]を選択します。新しいモジュールと同じ名前、同じフォルダの場所も入力します。
  4. プロジェクトを開き、intellijがプロジェクト構造を作成するのを待ちます。
  5. この新しいプロジェクトを閉じて、ステップ2でモジュールが追加された元のプロジェクトを開きます。

ビルダーによっては、ビルドプロセスに追加するために追加の手順が必要になります。

SBTの場合、および最上位プロジェクトでは、Build.scalaファイルを変更して新しいプロジェクトを集約し、SBTプロジェクトウィンドウにプロジェクトを追加しました。SBTマルチプロジェクトビルドの詳細:http : //www.scala-sbt.org/0.12.2/docs/Getting-Started/Multi-Project.html


IntelliJはプロジェクトにsbtモジュールを追加するためのサポートを追加し、それは本当にうまく機能していましたが、2017バージョン以降は壊れているようです。複数のsbtモジュールを追加することはできますが、更新すると1つを除いてすべて失われます。
Nader Ghanbari、

1

Intellij IDEA 2019.2、F4に+モジュールをクリックし、クリックして+からプロジェクトをHDDから追加します。このメニューの上で、プロジェクトとその他のオプションを作成してIDEを編集できます。非常に簡単です。


0

同じナビゲーターでEclipseのようにそれを開くインポートモジュールオプションを使用できます。


それはプロジェクトに.iprを開くことができないと言います
これまでアリアン2015

0

私はmavenを使い始めたばかりで、Viktor Nordlingの回答で追加されたローカルのmavenプロジェクトをどのように操作しても、pom.xmlファイルに適切な依存関係があるのかわかりませんでした。答えは簡単です。intellijはまずローカルに追加されたモジュールを調べ、見つからない場合はリモートでプロジェクトを取得します。これは、mavenモジュールを追加または削除するときに、プロジェクトブラウザーの下の「外部ライブラリ」を調べることで確認できます。

これが誰にも役立つことを願っています。



-1

プロジェクト全体をモジュールに移動する必要はありません。モジュールの使用例は、プロジェクトコンテナーよりも少し細かいです。

同じウィンドウで複数のプロジェクトを開くには:

ファイル->プロジェクトを開く

このウィンドウで開くを選択します。

現在のプロジェクトに追加するというチェックボックス。


1
機能していません。現在開いているプロジェクトを同じウィンドウに置き換えます。
エイリアン、2015

3
@everalian残念ながらこの機能は削除されました。
BAR
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.