web-dev-qa-db-ja.com

IntelliJにMavenの依存関係をインポートする IDEA

IntelliJ IDEA11について小さな質問があります。Subversionからプロジェクトをインポートしました。それはすばらしいプロジェクトです。しかし、Mavenライブラリの依存関係に問題があるため、すべてのMaven依存関係を自動的に含めることはできません - IDEAは、そのクラスを開いたときにのみ依存関係エラーを表示します

enter image description here

ですから、すべての依存関係を自動的に追加したいのですが、それは可能ですか、それともすべてのクラスファイルを調べてmaven依存関係を追加しなければなりませんか。

更新:いくつかの修正を加えた後、私は何らかの方法で私の問題を解決する方法を見つけました。私がしたことは enter image description here

しかし、論理的には、今後新しい依存関係が含まれたりチェックされたりすることはないと思いますか?... ... intelliJにこれに関する設定領域はありますか? - クラスパスへの依存関係の自動エクスポート?

171
Zaur Guliyev

IntelliJは、POMが準拠しており、すべての依存関係が利用可能である限り、すべての依存関係を自動的にダウンロードしてプロジェクトのクラスパスに追加する必要があります。

MavenプロジェクトをIntelliJにインポートするとき、通常Mavenプロジェクトに対して Auto-Import を設定するかどうかを尋ねる情報ボックスが表示されます。つまり、POMに何らかの変更を加えた場合、それらの変更は自動的にロードされます。

あなたはそのような機能を有効にすることができますFile> Settings> Maven> Importingに行く、「Import Maven projects automatically」と言うチェックボックスがあります。

それでも解決しない場合は、完全にクリーンアップしてからやり直すことをお勧めします。

  • プロジェクトウィンドウ(およびIntelliJ)を閉じて、すべての*.imlファイルとすべての.ideaフォルダを削除します(モジュールごとに1つずつあります)。
  • コマンドラインからmvn clean installを実行します。
  • プロジェクトをIntelliJに再インポートし、自動インポートを有効にするように求められたら注意を払う

IntelliJ 2016アップデート

IntelliJの設定で、 Mavenプロジェクトを自動的にインポート の設定が ビルド、実行、配置>ビルドツール> Maven>インポート に移動しました。

236

私はここに私の0.02ドルを投げると思った:私にとって、これに対する修正はに行くことだった

ファイル[メニュー] - > [設定] - > [maven] - > [インポート]および チェックを外す "プロジェクトのインポートにmaven3を使用"

ref: http://youtrack.jetbrains.com/issue/IDEA-98425 (他にもいくつか考えがあります)

更新:今回はIntelliJ 15でこれに遭遇した。これには「インポートにmaven3を使用する」オプションはもう利用できない。その原因は、IntelliJが "Mavenの依存関係を正しく解析できない"ことがあり、それらのうちの1つを正しく解析できない場合、明らかにそれらのうちの all を放棄することです。そうであるかどうかは、Mavenプロジェクトのツールウィンドウ([表示]メニュー - > [ツールウィンドウ] - > [Mavenプロジェクト])を開いて確認できます。それから、あなたのMavenプロジェクトの1つとその依存関係を拡張してください。依存関係が赤で下線が引かれている場合は、「ヒューストン、問題があります」。 enter image description here

あなたは実際に real の失敗をプロジェクト名自体の上にマウスを置くことによって見ることができます。

enter image description here

私の例ではそれは言った "問題:XXXのために利用可能なバージョンがありません"または "アーティファクトorg.xy.zのための記述子を読み込めませんでした" ref: https://youtrack.jetbrains.com/issue/IDEA-128846 and https://youtrack.jetbrains.com/issue/IDEA-152555

この場合私は関連付けられたpomファイルを持っていないjarファイルを扱っていたようです(私たちのMaven nexusリポジトリ、そして私のローカルリポジトリでも)。もしこれがあなたの問題でもあるなら、 "回避策:あなた自身のコードでそのjarからのクラスを実際に使う必要がないなら(例えば、推移的なMaven依存関係のみ)、pomからそれをコメントアウトすることで実際に逃げることができます。その後、IntelliJは以前の作業依存関係を「記憶」していますが、他の依存関係から移行している場合は、一時的にMaven推移的除外を追加することもできます。 「

役に立つかもしれないもう一つのことは、同梱の3.0.5よりも新しいバージョンのmavenを使うことです。これをデフォルトとして使用するように設定するには、すべてのintellijウィンドウを閉じてから、設定 - >ビルド、実行および配置 - >ビルドツール - > mavenを開き、mavenホームディレクトリを変更します。調整した後に「再インポート」する限り、特定のプロジェクトに合わせて調整することもできます。

役立つかもしれない他のもの:あなたのintellijキャッシュフォルダを削除する(ウィンドウ:HOMEPATH /。{IntellijIdea、IdeaC} XXX linux〜/ .IdeaIC15)そして/またはIntelliJ自体をアンインストールして再インストールする。 GLさん!

61
rogerdpack

プロジェクトをインポートするときは、プロジェクトディレクトリの代わりにpom.xmlを選択してください。それはうまくいくはずです。

30
chichi

IntelliJ IDEAのMavenプロジェクトパネルからプロジェクトを再インポートしてみてください。 pom.xmlで定義されているすべての依存関係を自動的にダウンロードして設定するはずです。

何らかの理由でIDEAからダウンロードできない場合は、コマンドラインからmvn installを試して、依存関係を取得できるかどうかを確認してください。

もちろん、必要な依存関係とカスタムリポジトリはすべて、pom.xmlファイルで直接定義する必要があります。

19
CrazyCoder

IntelliJ 2016-2.4(および他の新バージョン)については、

表示>ツールウィンドウ> Mavenプロジェクト

新しく表示されたツールバーで、Mavenの設定(ツールセットのアイコン)を選択します。

この画面が開いたら、Mavenメニューを展開して「インポート」をクリックします。

ここで、「Mavenプロジェクトを自動的にインポートする」をクリックします。また、[JDK for Importer]オプションが、使用するJDKのバージョンと一致していることを確認してください。

OKをクリックしてください。 pom.xmlの赤い依存関係に移動し、赤い電球を選択して、[Mavenインデックスの更新]をクリックします。

12
Paul Back

私を助けたもの:

ナビゲーション:設定|ビルド、実行、配置メーベン

「Mavenホームディレクトリ」を指定します - Mavenをインストールした場所

8

特定のMavenモジュールがコンパイルされていない場合は、それらのpom.xmlが「無視されるファイル」リストにあるかどうかを確認してください。 IntelliJにジャンプ

設定 - >プロジェクト設定 - > maven - >無視されたファイル

そして、関連するpom.xmlが無視されていないか確認してください。

6
Udo

IntelliJ Ideaを開き、 ファイル>その他の設定>デフォルト設定...> Maven(設定)>インポート または|にアクセスします。 Preferences > Maven > Importing

enter image description here

コンソールで 自動インポートを有効にする をクリックします。

enter image description here

5
Prashanth Sams

同じパスを何度もインポートすると、Maven依存関係のインポートが機能しないことがあります。これは既存のMavenプロジェクトをインポートした後に自動的に発生する可能性があります。なぜこれが起こるのか私には分からないので、私はそれがバグだと思う傾向があります。

たとえば、私のプロジェクトが

hibernate
  src/main
  src/test

3つのパスは最上位ノードとしてインポートできます。

hibernate
src/main
src/test

このような場合、依存関係は正しいように見えますが、余分なパス(この場合はsrc/mainsrc/test)を削除するまでそれらは使用されません。これを行ったら、更新して「ビルド」>「プロジェクトの再ビルド」をクリックします。 IDEAは依存関係を拾います。

この問題の症状は、手動でライブラリをチェックしたときにIDEAが重複したパスであることを警告することです(質問の2番目のスクリーンショット)。

必要に応じて依存関係を読み直す方法はいくつかあります。 [Mavenプロジェクト]タブに移動すると、タブの左上に[すべてのMavenプロジェクトの再インポート]アイコンが表示されます。 IDEAが混乱したと思われる場合は、[ファイル]> [キャッシュの無効化]をクリックします。

4
Jano

新しいプロジェクトを作成するときは、単にオプションを選択する必要があります。

...
外部モデルからプロジェクトをインポート
既存の外部モデルの上にIDEAプロジェクト構造を作成します(Eclipse、Maven ...)
...

あなたはそこからかなりまっすぐ進むのを見つけるでしょう。
そして、あなたの場合は、プロジェクトを閉じて新しいプロジェクトを作成するだけです。プロジェクトのディレクトリを選択します。これにより、ディレクトリが上書きされ、Mavenプロジェクトになります。

4
Markus Coetzee

プロジェクトの構造に移動し、プロジェクトの設定、モジュールの下にある依存関係テーブルを選択します。依存関係ごとに、範囲を「テスト」から「コンパイル」に変更します。

3
Bud

私は同様の問題を抱えていました、私の場合私はIntelliJから選ばれなかったカスタムsettings.xmlを使用しています。

解決策:
File > Settings > Build, Execution, Deployment > Maven: User settings file(ここで私のカスタムsettings.xmlを選びました)。

3
petre

プロジェクトを再インポートしてください。 Mavenプラグインをインストールすればこれを使うことができます。

プロジェクトを右クリック - > Maven - > Reimport

3
Damith Ganegoda

私のMacBookでも同様の問題がありました。pom.xmlにちょっとした変更を加えるだけで、すべての依存関係のダウンロードを開始しました。

私のwindowsマシンでは、以前の依存関係は以下のように書かれていました。

<dependencies>
 <dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>
</dependencies>

<dependencies>タグと</dependencies>タグを削除したところ、すべての依存関係のダウンロードが開始されました。

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>

私はそれがあなたのために働くかどうかわからない..私のためにうまくいった。

ありがとう

2
Amit Joshi

IntelliJ 2016.3.Xでは一部の依存関係を解決できないという問題に遭遇しました。これは、設定>ビルド、実行、配置>ビルドツール> MavenのMaven home directoryBundled (Maven 3)から/usr/share/mavenに変更することで修正できます。

その後、以前のIntelliJバージョンと同様に、すべての下位依存関係が解決されました。

2

最初のチェックパス ユーザー設定ファイルの指定: in 設定 - >ビルド、実行、開発 - >ビルドツール - > Maven 。フィールドには、あなたのMavenの settings.xml のパスがあるはずです。またsettings.xmlには、リモートリポジトリの正しいパスが必要です。

2
amol13

私は同じ問題に直面して、問題を解決しない提案されたすべてを試みました、私はIntellijバージョン13.1.3を使用していました

それを修正するために数時間以上を費やした後、私は最終的に問題を解決したアップグレード版を試してバージョン14.1.4でプロジェクトを開くことにしました。私はこれを前のバージョンの推定バグと考えています。

これが役に立つことを願っています!

1
sjaiswal

私はsettings.xmlファイルを正しいミラー設定で更新することでこの問題を解決しました、intellijはmavenモジュールがインポートされるたびにリポジトリからメタデータをダウンロードしようとするようです。

1
Abel Zhan

プロジェクトディレクトリから.ideaフォルダを削除してから、そのプロジェクトをMavenプロジェクトとして再インポートするのが私にとってはうまくいきました。

1
Janac Meena

Maven - Reimportは私にはうまくいきませんでした。私はSTS(Eclipse)でSpringプロジェクトを持っています、そして私の解決策はプロジェクトをIDEAにインポートすることです。

1)ファイル - 新規 - 既存のソースからプロジェクト... - ディレクトリの選択 - Eclipseの選択.
2)設定でMavenの自動インポートをtrueに設定します。
3)pom.xmlを右クリックして、[Mavenプロジェクトとして追加]を選択します。

この後、すべてインポートされました。

1
Svitlana Onish

右下隅に「2プロセス実行中...」などと表示されている場合は、すべてのjarファイルをダウンロードするのに時間がかかることがあるので、それが完了するのを待つ必要があります。

1
djechlin

プロジェクト設定 - >モジュール リストから不要なモジュールを削除することで解決できました。

enter image description here

IntelliJプロジェクトを(pom.xmlを開くのではなく)プロジェクトフォルダからインポートして作成したときに、これらの追加モジュールがIntelliJ IDEAによって自動的に作成されたことがわかります。その後、プロジェクトをMavenプロジェクトとして宣言した後、適切なモジュールが作成され、既存のモジュールはそれらと競合していました。プロジェクト作成中にこれらのモジュールを除外することも可能です。

1
elyor

ちょっと乗っ取って私のために働いてしまったものを追加します。

IDEの右端にあるMaven Projectsサイドバーに入り、依存関係がそこにあるモジュールの下に正しくリストされていることを確認します。そうであれば、IDEAに再インポートするように依頼してください(一番上の最初のボタンは、2つの青い矢印が反時計回りの円を形成するように見えます)。

それをして、IDEAプロジェクトをリロードさせると、すべての依存関係が魔法のように理解されました。

参考のために:これはIDEA 13.1.2でした

1
Sunspar

私は同じ問題を抱えていて、ここで述べられたすべての答えを試しました、どれもうまくいきませんでした。

簡単な解決策はあなたのプロジェクトフォルダに行き、すべての.ideaと.imlファイルを削除してIntelliJ ideを再起動することです。できます。設定を変更する必要はありません。

1
Yashaswi N P

Mavenホームディレクトリを正しく設定し、設定のインポートセクションの下にある「Mavenプロジェクトを自動的にインポートする」をチェックする必要がありました。その後、依存関係の解決を始めました。

0
pavithraCS

Mavenでは、dependencyManagement xmlセクションを削除し、プロジェクトセクションのすぐ下に依存関係があるだけで、依存関係が含まれるようになりました。

0
seahorse

私はpom.xmlファイルのbuildタグの後にこのコード行を追加することで私のものを修正することができました、私は私の実行中のプロジェクトからそれを比較し、それが違いであることを発見しました、今私はすべて良いです.

<repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>
0

私の場合、モジュールの1つが何らかの理由で無視されました。それを解決するには問題のあるモジュールを右クリックして "Unignore Projects"を選択します。

unignore project example

0
KernelMode

それ以外のすべてが失敗した場合は、ローカルの.m2リポジトリ内のjarファイルが本当に有効で破損していないかどうかを確認してください。私の場合、ファイルは完全にダウンロードされていませんでした。

0
Markus Barthlen

私の場合、MAVENが使用するJavaのパスは、マシンで構成されたJava_HOMEとして設定されていませんでした。したがって、依存関係をダウンロードしようとしてもいませんでした。この問題を解決した私が従った手順、

  1. Javaパスを確認しました設定>>ビルド>>ビルドツール>>インポート>>インポーターのJDK。 Java_HOMEを指し示しました。

  2. mvn clean install -U

    上記のコマンドを使用して、依存関係のダウンロードを強制します。

  3. 再インポートされたMavenプロジェクト

0
Akanksha Sharma

"File --> Open"を試してからPOMファイル自体に移動するまでは、何もうまくいきませんでした。

0
gorbysbm

会社の内部ネットワークで働いている可能性があります。

その場合、外部のMaven依存関係をダウンロードまたは追加するには、settings.xmlフォルダーの下のuser/<username>/.m2ファイルを更新する必要があります。

管理者に連絡して正しいsettings.xmlファイルを提供し、.m2フォルダーに貼り付けてください。

0
nishchay3

問題は、依存関係をpom.xmlにリストしても、IntelliJ IDEAは、プロジェクトを実行したときにそれらの依存関係を再構築しないことです。

私のために働いたのはこれです:

「実行」 - >「設定の編集...」に移動し、アプリケーションを見つけて、「起動前:」セクションが展開されていることを確認し、緑色のプラス記号をクリックして「プロジェクトの構築」を選択します。

enter image description here

0
Mike Nakis