Gradleビルドを使用してIntelliJ IDEAでGradleの依存関係を取得する


140

グレードビルドは、IntelliJ IDEA内からでも依存関係を「外部ライブラリ」フォルダーに入れないため、これらのクラスはエディターに候補として表示されず、インポートとして手動で追加すると、コンパイルエラーが発生します。

IntelliJに依存関係をbuild.gradleファイルに自動的に組み込むにはどうすればよいですか?

compile 'com.google.code.gson:gson:1.7.2


2
プロジェクトをgradleプロジェクトとしてインポートし、gradleサポートが有効になっていることを確認してください。
M. Deinum 14

回答:


191

アイデアからプロジェクトをGradleプロジェクトとしてインポートする必要があります。依存関係を追加するときは、Gradleウィンドウを開いて更新を実行する必要があります。

別の方法として、gradleからプロジェクトファイルを生成します。

build.gradle:

apply plugin: 'idea'

次に実行します:

$ gradle idea

依存関係を変更した場合は、上記を再実行する必要があります。


apply plugin: 'idea'いずれにしても追加する必要があります。
Peter Niederwieser 2014

@PeterNiederwieser-Ideaからインポートする場合、どのような影響がありますか?
tddmonkey 2014

これにより、IntelliJセットアップのさまざまな側面(どのJDKを使用するかなど)を構成できます。これは、インポートで尊重される必要があります。ビルドにそのような構成がない場合は、プラグインを適用する必要がない場合があります(私はこれを試したことがありません)。
Peter Niederwieser 2014

、私はもっぱらので、これを行うために必要なことはありません私のためのプロジェクトファイルを生成するのGradleを使用知っているおかげで、素敵な
tddmonkey

プロジェクトファイルを生成する場合も同じことが当てはまりますが、その場合、プラグインの適用はオプションではありません。
Peter Niederwieser 2014

188

依存関係を追加した後、「Gradle」(「表示」->「ツールウィンドウ」->「Gradle」)タブを開き、「更新」をクリックします。

追加の例(コンパイル 'io.reactivex:rxjava:1.1.0'):

リフレッシュヒット

それでもIdeaが依存関係を解決できない場合は、依存関係がmavenCentral()リポジトリにない可能性があり、この依存関係がリポジトリにあるリポジトリを追加する必要があります{}


13
しかし、それはうまくいかないようです。依存関係を追加して更新しましたが、XMLまたはJavaソースコードでライブラリをインポートしようとすると、IDEAはそれを解決できません。
AuBee 2016

3
私のために働いた。ありがたいことに、アイデアグラドルプラグインを使用しなくても。
gMale

2
@AuBee:同じ問題がありました。コマンドラインからGradleを使用して(1回だけ)ビルドすると、この問題は解消されました。
トーマス

@Thomasはい。CLIは常により強力な制御を行う
Andrey

@AuBee Ideaが依存関係を解決できない場合は、依存関係がmavenCentral()リポジトリにない可能性があり、リポジトリにリポジトリを追加する必要もあります{}
Andrey

20

既存のGradleプロジェクト(が付いているプロジェクトbuild.gradle)をIntelliJ IDEAにインポートする場合、次の画面が表示されたら、[ 外部モデルからインポート] -> [ Gradle]を選択します。

外部モデルからプロジェクトをインポート

オプションで、次の画面で「自動インポート」を選択して、新しい依存関係を自動的にインポートします。


3
実際、この答えは私の問題を解決し、上記の実際の正しい答えの前に最初に行う必要があります。
quickinsights 2017年

3
これが実際に機能し、正しい唯一のソリューションです。アイデアのためだけにgradle.propertiesに何かを追加するのは明らかに間違っています。
user219882

元のインポートでこの手順を実行しないと、構文の強調表示とオートコンプリートをまったく機能させることができませんでした。再インポートせずに修正できる場合もありますが、これは少なくとも小規模なプロジェクトでははるかに簡単です。
エド・ノリス

@ user219882-ビルドに何かを追加しているのはなぜ「明白に間違っている」のですか?
tddmonkey 2018年

@tddmonkeyは、ユーザーが使用することを選択したIDEは、ビルドがどのように行われるかを説明することとは無関係であるためです。
Qix-モニカは

11

「依存関係を解決できません」エラーが表示される場合:
「オフラインモード」をオフに切り替えます
(「表示」->「ツールウィンドウ」->「クレードル」)。

グラドルウィンドウ


5

Andreyの上記の投稿は、2017年の第3四半期時点でIntellijの最新バージョンでも引き続き有効です。そのため、それを使用してください。原因、プロジェクトのビルド、および外部コマンドライングラドルビルドは、Intellijの外部依存関係に追加されません...それは本当のように聞こえるので、クレイジーです。唯一の違いは、UIの外観が上記とは異なることですが、更新には同じアイコンが使用されます。私はここに答えのみを入れています。新しいUIのスナップショットを貼り付けることができないからです...それ自体は賛成票を欲しくないのです。アンドレイはまだ上記の正しい答えを出しました: ここに画像の説明を入力してください


1

私の場合、gradle( 'View'-> Tool Windows-> Gradle)タブを更新しているときにエラーが発生し、「更新」をクリックして、jetgradlepluginクラスのこのようなプロパティgradleversionを取得していませんでした。

Gradle 5+と互換性のある最新のIntellijをインストールする必要がありました

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