IDEAでGradleの家を定義する方法は?


390

IntelliJにGradleプロジェクトをインポートしようとしてGradle Homeいます。テキストボックスにアクセスしても、自動的に入力されずGradle Home、有効な場所に結果のパスを入力しません。GRADLE_USER_HOME環境変数が設定されています( !)正しいパスです。この同じプロジェクトをEclipseに正常にインポートできました。助言がありますか?


ええ、JetBrainsサイトでの議論はそれがシンボリックリンクの問題であることを示しているようです-Denis.Zhdanovによる返信をここで参照してください:blog.jetbrains.com/idea/2013/04/gradle-improvements-at-121
josh-cain

1
良い質問。これに対して有効な回答を選択しますか?要点を言わないでください。@ trentonをお勧めします。また、これが問題であったOSについても言及する必要があります。
akauppi

1
「デフォルトのGradleラッパーを使用する(推奨)」を選択した場合、Gradle Homeを設定する必要はありません。残念ながら、それらはその入力ボックスをグレー表示しません-それらはそれの上にマウスを置いたときに持っているカーソルのタイプによって無効にされていることを単に示しています。
Andrew Grimm、

回答:


479

ディレクトリを印刷する簡単なgradleスクリプトを書くことができますGRADLE_HOME

task getHomeDir {
    doLast {
        println gradle.gradleHomeDir
    }
}

名前を付けbuild.gradleます。

次に、それを実行します:

gradle getHomeDir

homebrewでインストールした場合は、を使用brew info gradleして基本パス(つまり/usr/local/Cellar/gradle/1.10/)を見つけ、を追加しますlibexec

使用する場合のKotlinでの同じタスクbuild.gradle.kts

tasks.register("getHomeDir") {
    println("Gradle home dir: ${gradle.gradleHomeDir}")
}

10
Linux Mint / Ubuntuの場合/usr/share/gradleは、このGradleスクリプトの出力です。
アーサー

3
@Steveハッピー。今夜は私自身が受益者でした。twitter.com/TrentonL/status/729546995686248448
トレントン

3
これは私にとってはうまくいきましたが、それはとても愚かです。GradleのSDK Managerを使用してGradleをインストールしました。IntelliJがそれを使用できないのはなぜですか?
AutonomousApps

Fedora 25では/ usr / share / gradleでもあります。
Uri Simchoni 2017

2
Arch Linuxの場合:/usr/share/java/gradle
SirWojtek

273

Homebrewを介してMacにインストールされたパス

/usr/local/opt/gradle/libexec

より好ましい

/usr/local/Cellar/gradle/X.X/libexec

前者はバージョンのアップグレードを生き残るので。


これはAndroid Studioにも当てはまります(とにかくAS 1.3以降)。
ジェームズ

素晴らしいもの、私はこの獣を使ってGRADLE_HOMEを設定しました(brewでgradleをアップグレードするときの問題を防ぐため) export GRADLE_HOME=`python -c "import os; print(os.path.realpath('$(which gradle)'))" | xargs dirname | xargs dirname | xargs printf "%s/libexec"` 誰かが簡単にできるなら、それも便利です:)
mlo55

2
@ mlo55の方がはるかに使いやすいexport GRADLE_HOME=$(realpath $(brew --prefix gradle))/libexec
18年

@ mlo55 which gradleシェルで呼び出すのではなく、なぜPythonでそれをしたのですか?
マイクヤング

@MikeYoung、私はその時にインストールされているrealpathを持っていませんでした。nb:export GRADLE_HOME="$(brew --prefix gradle)/libexec/"@delitesceneの推奨に従って使用しています。醸造を使用している場合ls "$(brew --prefix gradle)/libexec/"ls "$(which gradle)/libexec/"、osxと比較してください。
mlo55 '19年

93

自作でgradleをインストールした場合、パスは次のとおりです。

/usr/local/Cellar/gradle/X.X/libexec

ここで、XXはGradleのバージョンです(現在は2.1)。


46

IntelliJを使用している場合は、次の手順を実行してください。

  1. プロジェクトを閉じる
  2. (再)プロジェクトを開く
  3. 右下に「Import gradle project」というメッセージが表示されます。クリック。
  4. 「デフォルトのGradleラッパーを使用する」を選択します。「ローカルのGradleディストリビューションを使用する」ではない

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

それで全部です。


「デフォルトのGradleラッパーを使用する」を選択した場合、Gradleをホームに提供する必要はありませんか?
Andrew Grimm、

回答:はい。以前気づかなかった悪いUXのせいにしてください。
Andrew Grimm、

1
"Use gradle 'wrapper' task configuration"私のために働いた-それが考えを意味する
idk

1
IDEAで実際のビルドスクリプトからGradleバージョンを定義する場合は、[Use
gradle

@AndrewGrimm私の場合、このラジオボタンは無効になっています。だから選択できません。何か案は?
Mikheil Zhghenti、

42

これが、Gradleプロジェクトのインポート時にIDEAにGradleホームが設定されていないという問題を解決するのに役立ちました。

3つのオプション-(A)デフォルトのラッパー(B)「gradle 'wrapper' task configuration」または(C)jetbrainsによって定義された「ローカルGradleディストリビューション」:https ://www.jetbrains.com/help/idea/gradle-settings .html

A.デフォルトのラッパー(推奨)

可能であれば、この推奨オプションを選択してください。グレー表示されている場合は、オプションCを参照してください。これにより、後続のすべてのプロジェクトのデフォルトが設定されます。

B. Gradle「ラッパー」タスク構成

IDEAでビルドスクリプトからGradleバージョンを定義する場合

  1. Gradleビルドバージョンを実際のGradleビルド内のタスクとして定義する場合は、このオプションを設定します。

下記のjetbrainsの例:https ://www.jetbrains.com/help/idea/gradle-settings.html

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

(プロジェクト間でGradleビルドを共有したくない場合に便利です)

C.ローカルGradle配布

1. Run the following command to get gradle location:

   brew info gradle (if gradle was installed with homebrew)


2. You are looking for something like this:

   /usr/local/Cellar/gradle/4.8.1


3. Next, append 'libexec' to the gradle location you just found:

/usr/local/Cellar/gradle/4.8.1/libexec

これは、「libexecは他のデーモンによって実行され、他のプログラムによって実行されるシステムユーティリティ」(つまり、IDEA)のためです。/unix/312146/what-is-the-purpose-of-usr-libexecを参照してください

4. Finally, put that new path in the Gradle home input box if IDEA prompts you.

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

  1. IDEAはOKを押すことを許可するはずです ここに画像の説明を入力してください

私が何をしようとも、次の
slashdottir

@slashdottirこれは、使用しているネットワーク(職場または大学の場合)に何らかの関係があるか、IDEAを閉じてマシンを再起動し、新しいプロジェクトから再構築する必要がある場合があります。stackoverflow.com/questions/42415666/…を参照してください。Android-studioですが、それでも役立つ場合があります。このいずれかが役立つかどうか教えてください。
Cloudish123

1
最後に、comand-lineからgradleをビルドするように切り替えました-うまくいきました-thx
slashdottir

9

これはMAC専用の手順です。私も同じ問題を抱えていました。で構成$GRADLE_HOMEすることで解決しました.bash_profile。方法は次のとおりです。

  • 開く.bash_profile(通常、ユーザーのホームディレクトリにあります)。
  • 次の行を追加して、$PATH変数を更新します。 export GRADLE_HOME=/usr/local/opt/gradle/libexec export PATH=$GRADLE_HOME/bin:$PATH
  • それを保存。
  • 実行して変更を適用します source .bash_profile

誰かが同じ問題に遭遇した場合に備えて私は自分の記事を書きました。


ご回答有難うございます。gradle4.7バージョンの場合:export GRADLE_HOME = / usr / local / Cellar / gradle / 4.7 / libexec export PATH = $ GRADLE_HOME / bin:$ PATH
Piash Sarker

1
@PiashSarker、それ/usr/local/opt/gradle/libexecはへのシンボリックリンクであることがわかり/usr/local/Cellar/gradle/4.7/libexec ます。Gradleバージョンが更新されると、symlinkも自動的に更新されます。それを言っても、それを使用することはまだより安全/usr/local/opt/gradle/libexecです。私が間違っていたら訂正してください。
skryvets

9

C:\ Users \ <_ username> \。gradle \ wrapper \ dists \ gradle-<_ version> -all \ <_ number_random_maybe> \ gradle-<_ version>

\ Android studio \ gradleが機能しませんでした。

また、bitbucketからプロジェクトをインポート(クローン)しているときに、「デフォルトのGradleラッパー」が構成されていませんでした

パスを理解するのに問題が発生する場合は、ここに私のパスがあります:

C:\ Users \ prabs \ .gradle \ wrapper \ dists \ gradle-5.4.1-all \ 3221gyojl5jsh0helicew7rwx \ gradle-5.4.1


ユーザー名と特定のバージョン番号でのみ機能するパスを投稿するのはあまり役に立ちません。また、解決策を提案しないことも役に立ちません。
MarkHu 2018年

6

Macでは、理想的には次のようになります。 /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1

(バージョン文字列を最新のものに置き換えます)


7
@RuchirBaronia Android Studioを使用している場合のみ
hitch.united

それはまったく答えではありません。それが「理想的に」であるべきことは、答えられる必要があるものではありません。
wyde19

明らかに、Gradleのバージョンは何年にもわたって増え続けるでしょう。あなたが現在持っているものを見るために、これを試してください:ls -d "/Applications/Android Studio.app/Contents/gradle"/*
MarkHu

3

私の知る限り、それはGRADLE_USERではなくGRADLE_HOMEです(gradle installation http://www.gradle.org/installationを参照)。

一方、Idea 13 CardeaでGradleのサポートを少し試してみましたが、GradleのホームはIdeaによって自動的に検出されないと思います。もしそうなら、あなたはyoutrackに問題を提出することができます。

また、gradle 1.6以降を使用している場合は、ビルドとラッパーの設定にGraldleサポートを使用できます。私はアイデアが自動的にラッパーベースのgradleプロジェクトを発見すると思います。

$ gradle setupBuild --type java-library

$グラドルラッパー

注:サポートされているライブラリタイプ:basic、maven、java

よろしく



2

Gradleパスを選択する前にProject SDKをセットアップする必要がありました。それが正しく設定されたら、「Gradleからプロジェクトをインポート」ダイアログで「デフォルトのGradleラッパーを使用する(推奨)」を選択する必要がありました。

brewを使用してgradleを削除しても引き続き機能します。

$ brew remove gradle

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


2

これが私のgradle homeの場所です(Arch Linux):

/usr/share/java/gradle/

1

クラスが見つからないという奇妙なエラーが発生しました。srcフォルダー(赤でした)を右クリックして、[Make Directory as]-> Source Folder Rootにする必要がありました。


0

[新規]-> [既存のソースからのプロジェクト]-> [gradleプロジェクトをインポート...]をクリックします。

次に、アイデアが自動的にGradleを認識しました。


0

壊れたJDKを削除するまで、Gradle JVMの選択を受け入れることができませんでした

以下のウィンドウは、[ファイル]-> [その他の設定]-> [新しいプロジェクトの構造...]からのものです。

Gradle JVM、つまりJDKホームパス

ここに赤い1.8 JDK SDKエントリがありました。削除すると、以下のGradle JVMエラーが消えて次のステップに進むことができます

Gradle JVMエラー


-1

Macを使用している場合、たぶんあなたのgradle homeはおそらくそうでしょう/usr/local/gradle-2.0

IDEAを優先して、gradleを検索し、上記のようにgradleをホームに設定します。うまくいくはず

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