13

何時間も試したり検索したりしても理解できなかった簡単な質問:

Java6と7の両方をインストールしています。

IntelliJにJDKバージョン1.6でGradleビルドを開始するように指示するにはどうすればよいですか?

私が何をしても、IntelliJは私のgradleを始め続けます

"c:\program files\java\jdk1.7.0_10\jre\bin\java" -Dgradle.home=C:\_CODING_\gradle-1.4 [...]

私は試した:

  • すべてのプロジェクトモジュールは1.6を使用するように設定されています
  • JAVA_HOMEに設定されていますC:\Program Files\Java\jdk1.6.0_38
  • 設定IDEA_JDKは何もしませんでした
  • gradle -vコマンドラインで1.6をJDKとして認識します
  • IntelliJおよび/またはコンピューターを再起動しても動作は変わりませんでした

Java 1.7が呼び出されないようにする設定はどこかにありますか?

4

6 に答える 6

13

... 2.5年後:

IntelliJ IDEA 15.0を使用していますが、同様の問題が発生しました。

このバージョンのIDEAはJDK1.8にバンドルされて出荷されており、JDK1.7でGradleプロジェクトをビルドして実行したいと考えています。

Gradleで使用されるJDKは、設定で構成できます(以前はそうではなかった可能性があります)。

IDEA>設定>ビルド、実行、デプロイ>ビルドツール> Gradle

... [ローカルGradleディストリビューションを使用する]の下に、[GradleJVM]プロパティが表示されます。

注:私の場合、システムの再起動後にのみ有効になっているようです。すぐに機能しない場合は、試してみてください。

于 2015-11-10T12:44:50.220 に答える
12

「jrechoose」アルゴリズムはここで定義されています。つまり、次のことを試みます。

  1. 'gradle.java.home'システムプロパティ(存在する場合)で参照されるJavaの場所。
  2. 'JAVA_HOME'環境変数;
  3. プロジェクトjdk;
  4. ideで構成されたjdk。

$ IDEA_HOME / bin/idea.propertiesに残っているjava1.7を指す「gradle.java.home」があると思います

于 2013-03-25T15:59:04.980 に答える
8

デニスの答えは私がさらに調査するのに役立ちましたが、最初は成功しませんでした。

99の問題がありますが、gradleは1つではありません

私の最初の発見は、実際にはgradleが問題ではないということでしたが、私の設定ではそうではないと言っているにもかかわらず、IDE全体がJava7を使用しています。

私は戦うべきいくつかの問題を抱えていました:

  1. Java 7は、java.exeのコピーをインストールしました。このコピーには、セットよりもC:\Windows\System32\早く取得されたものが含まれています。%PATH%%JAVA_HOME%/bin%

    =>コピーを削除すると、目的のファイル%JAVA_HOME%/bin/java.exeが正しくピックアップされます

  2. 次の問題は、まだJDK7を使用してIntelliJを起動し、idea64.exeそれを変更する方法が見つからなかったことです。

    =>テストのプロのヒント:IDEAプラグインSystemPropertiesは、IDEで現在使用されているすべてのJAVA-Propsを表示します=>idea.bat代わりに使用して構成可能な方法を使用します

  3. idea.batで設定されたJDKの使用を拒否しました%JAVA_HOME%が、代わりにバンドルされたJREを使用しました(%IDEA_HOME%/jre

    => batファイルの内容をチェックすることで、バンドルされたJREに頼る前にbatがチェックする唯一の変数である%IDEA_JDK%ポインティングを定義するソリューションにつながります。%JAVA_HOME%

最終的な考え

IntelliJを起動するための適切なJDK/JREの設定に関していくつかの奇妙な問題がありますが、プロパティファイルや起動ファイルを変更しなくても完全に実行できるため、安全にアップグレードできます。

ボーナスチップ

Windowsを使用していて、システムプロパティを追跡するためのより良い方法が必要な場合は、RapidEEを使用することを勧めします。GUIは、Windows95以降変更されていない醜いWindowsUIよりもはるかに優れています。

于 2013-03-26T11:29:49.967 に答える
1

私の問題は、1.8を実行したいのですが、1.6を実行していました。

IntelliJアイデア内で「gradlerun」を実行すると、次の出力が表示されます。

10:50:35: Executing external task 'run'... :compileJava :processResources UP-TO-DATE :classes Exception in thread "main" java.lang.NoClassDefFoundError: org/raig Caused by: java.lang.ClassNotFoundException: org.raig     at java.net.URLClassLoader$1.run(URLClassLoader.java:202)   at java.security.AccessController.doPrivileged(Native Method)   at java.net.URLClassLoader.findClass(URLClassLoader.java:190)   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) :run FAILED

FAILURE: Build failed with an exception.

* What went wrong: Execution failed for task ':run'.
> Process 'command '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

/Applications/IntelliJ IDEA14CE.app/Contents/Info.plistを変更しました

<key>JVMOptions</key>
    <dict>
      <key>ClassPath</key>
      <string>$APP_PACKAGE/Contents/lib/bootstrap.jar:$APP_PACKAGE/Contents/lib/extensions.jar:$APP_PACKAGE/Contents/lib/util.jar:$APP_PACKAGE/Contents/lib/jdom.jar:$APP_PACKAGE/Contents/lib/log4j.jar:$APP_PACKAGE/Contents/lib/trove4j.jar:$APP_PACKAGE/Contents/lib/jna.jar</string>

      <key>JVMVersion</key>
      <string>1.6*,1.7+</string>

JVMVersionキーに「1.8*」を追加しました。

<key>JVMVersion</key>
      <string>1.8*,1.6*,1.7+</string>

IntelliJを再起動し、タスクを実行すると、次のようになりました。

Execution failed for task ':run'.
> Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
于 2015-08-07T08:59:28.653 に答える
0

denis.zhdanovからの応答を拡張するために:Mac OS Xの「アイコンクリック」から呼び出すときにIntellijがbashからシステム/環境変数を取得しないという昔からの問題があるため、情報を細かく調整する必要があります.plistを実行し、ファイルを機能させるためにプロパティをファイルに追加します。例えば:

システムで、次を検索します: /Applications/IntelliJ IDEA 12.app/Contents/Info.plist

ファイルを編集して、[プロパティ]セクション内に値を追加します。

<dict> <key>gradle.java.home</key> <string>/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home</string> </dict>

パスはJVMの$JAVA_HOMEです。

于 2015-03-24T20:18:45.430 に答える
0

プロジェクトのGradleプロパティファイルを変更して、以下を含めます。

org.gradle.java.home = /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

またはJDKuが必要とするものは何でも。私は弱者のような答えを探していました、それは私の絶対に夢中になりました。

于 2016-03-01T17:14:20.373 に答える