update run intellij idea configurar java windows intellij-idea gradle

java - idea - run gradle task in intellij



¿Cómo le digo a IntelliJ que comience gradle con Java 1.6 JDK? (6)

Una pregunta simple que no pude descifrar incluso después de horas de intentar y buscar:

Tengo ambos Java 6 y 7 instalados.

¿Cómo le digo a IntelliJ que inicie las compilaciones de Gradle con una versión de JDK 1.6?

No importa lo que haga, IntelliJ sigue comenzando mi gradle con

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

Lo intenté:

  • todos los módulos del proyecto están configurados para usar 1.6
  • JAVA_HOME está configurado en C:/Program Files/Java/jdk1.6.0_38
  • configuración IDEA_JDK no hizo nada
  • gradle -v reconoce 1.6 como su JDK en línea de comandos
  • reiniciar IntelliJ y / o computadora no cambió el comportamiento

¿Hay alguna configuración en algún lugar para evitar que se invoque Java 1.7?


El algoritmo ''jre choose'' se define aquí , es decir, intenta lo siguiente:

  1. Ubicación de Java a la que se hace referencia en la propiedad del sistema ''gradle.java.home'' (si corresponde);
  2. Variable de env ''JAVA_HOME'';
  3. Proyecto jdk;
  4. Cualquier jdk configurado en ide;

Sospecho que tienes ''gradle.java.home'' que apunta a que queda Java 1.7 en $ IDEA_HOME / bin / idea.properties


Solo para ampliar la respuesta de denis.zhdanov: Dado que el viejo problema de Intellij no selecciona las variables system / env de bash al invocarlo desde el "clic de icono" en Mac OS X, tendrá que multar la información .plist y agregue la propiedad al archivo para que funcione. Por ejemplo:

En su sistema, encuentre: / Applications / IntelliJ IDEA 12.app/Contents/Info.plist

Edite el archivo para agregar el valor dentro de la sección Propiedades:

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

Donde el camino es $ JAVA_HOME de su JVM.


Mi problema era: quiero ejecutar 1.8, pero estaba ejecutando 1.6.

Cuando ejecuto "gradle run" dentro de la idea de IntelliJ pude ver el resultado:

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

Modifiqué / Aplicaciones / IntelliJ IDEA 14 CE.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>

Agregué "1.8 *" en la clave JVMVersion.

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

Reinicié el IntelliJ, ejecuté la tarea y obtuve:

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


... 2.5 años después:

Estoy usando IntelliJ IDEA 15.0, y tuve un problema similar:

Esta versión de IDEA incluye paquetes con JDK 1.8, y quiero construir y ejecutar un proyecto de Gradle bajo JDK 1.7

El JDK utilizado por Gradle es configurable en las preferencias (puede no haber sido el caso anteriormente):

IDEA> Preferencias> Compilación, Ejecución, Despliegue> Herramientas de compilación> Gradle

... en "Usar distribución de gradle local" debería ver la propiedad "Gradle JVM".

NOTA: en mi caso, solo parece haber tenido efecto después de un reinicio del sistema. Algo para probar si no funciona de inmediato


SOLO CAMBIE EL ARCHIVO GRADLE PROPERTIES EN SU PROYECTO PARA INCLUIR:

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

o lo que sea JDK que necesites. Estaba buscando una respuesta como un débil, eso me volvía completamente loco.


Aunque la respuesta de Denis me ayudó a investigar más, al principio no tuvo éxito.

Tengo 99 problemas pero Gradle no es uno

Mi primer hallazgo fue que, de hecho, no gradle es el problema, pero todo el IDE usa Java 7 a pesar de que mi configuración indique lo contrario.

Tuve varios problemas para luchar:

  1. Java 7 instaló una copia de java.exe en C:/Windows/System32/ que se recuperó anteriormente en %PATH% que también estableció %JAVA_HOME%/bin%

    => eliminar las copias dirigidas al %JAVA_HOME%/bin/java.exe deseado que se recogió correctamente

  2. El siguiente problema fue que al iniciar IntelliJ a través de idea64.exe usando el JDK7 y no pude encontrar una manera de cambiar eso.

    => Consejo profesional para probar que: IDEA Plugin SystemProperties muestra todos los JAVA-Props actualmente utilizados por IDE => Use idea.bat en idea.bat lugar para tener una forma configurable en su lugar

  3. idea.bat aún se negó a usar el conjunto JDK en %JAVA_HOME% pero usó el JRE incluido ( %IDEA_HOME%/jre )

    => Verificar el contenido del archivo bat me lleva a la solución para definir %IDEA_JDK% apuntando a %JAVA_HOME% que es de hecho la única variable que el murciélago comprueba antes de recurrir al JRE incluido

Pensamientos finales

Existen algunos problemas extraños relacionados con la configuración del JDK / JRE correcto para iniciar IntelliJ, pero es perfectamente factible sin cambiar ningún archivo de propiedades o archivos de inicio, por lo que es seguro para la actualización.

Sugerencia de bonificación

Si está usando Windows y necesita una mejor manera de realizar un seguimiento de las Propiedades del sistema, recomiendo usar RapidEE . Su GUI es mucho mejor que la fea interfaz de usuario de Windows que no ha cambiado desde Windows 95.