No puedo entender que esto funcione.
Guión:
- Tengo una aplicación construida con gradle
- La aplicación usa JavaFX
Lo que quiero
- Utilice una variable (definida por máquina de desarrollador) que apunte a la instalación de un JDK que se utilizará para construir toda la aplicación / pruebas / ...
Pensé en tener el gradle.properties
archivo, definiendo la variable. Algo como
JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK>
Lo que no quiero
- apunte
JAVA_HOME
al JDK deseado
Podría vivir con muchas sugerencias:
- una solución que define una variable de entorno del sistema que puedo verificar en mi script build.gradle
- una variable definida en gradle.properties
- anulando la variable JAVA_HOME solo para el contexto de compilación (algo así como
use JAVA_HOME=<my special JDK path defined somewhere else defined>
) - algo más en lo que no pensé
Pregunta:
- ¿Cómo conectar una variable (como se haya definido, como variable en la
gradle.properties
variable de entorno del sistema, ...) al proceso de construcción?
Tengo más de un JDK7 disponible y necesito apuntar a una versión especial (versión mínima de JDK_u).
Cualquier respuesta es apreciada y estoy agradecido por cada pista en la dirección correcta.
java
gradle
build.gradle
matón
fuente
fuente
org.gradle.java.home
en elgradle.properties
archivo? enlaceorg.gradle.java.home
configuración se aplica solo al gradle daemon, aparentemente ... En cualquier caso, intente configurar fork en true y forkOptions.executable al jdk que desea usar: enlaceRespuestas:
Dos caminos
gradle.properties
el.gradle
directorio en suHOME_DIRECTORY
conjuntoorg.gradle.java.home=/path_to_jdk_directory
o:
En tus
build.gradle
fuente
gradle.properties
se puede definir a nivel de proyecto, consulte gradle.org/docs/current/userguide/build_environment.html./gradlew -Dorg.gradle.java.home=/path_to_jdk_directory
. Bien si no quieres tocargradle.properties
.Si agrega JDK_PATH en gradle.properties, su compilación dependerá de esa ruta en particular. En su lugar, ejecute la tarea gradle con el siguiente parámetro de línea de comando
De esta manera, su construcción no depende de una ruta concreta.
fuente
/usr/lib/java/jdk/home
que apunta a la versión actual instalada. Por supuesto, cuando desea una versión específica (por ejemplo, u51), debe ser específico sobre la ruta. Además, algunas herramientas que quieren poner en marcha el gradle no parecen establecer el JDK en el entorno que le dan al gradle. Y por mi parte, nunca configuré el JDK como el JAVA_HOME actual a menos que sea una sesión de desarrollo.PROGRA~1
(todas mayúsculas) o cualquier otra cosa que DIR / X le indique."... gradle itself (either standalone distribution or wrapper) uses JDK from JAVA_HOME environment variable or (if it is not set) from PATH".
Especifiqué el JAVA_HOME antes de la llamada gradlew para arreglar esto. (es decirenv JAVA_HOME=/path/to/java gradlew war --stacktrace
)Para las personas que terminan aquí cuando buscan el equivalente de Gradle de la propiedad Maven
maven.compiler.source
(o<source>1.8</source>
):En build.gradle puedes lograr esto con
Vea la documentación de Gradle sobre esto .
fuente
Si está ejecutando usando gradle wrapper, puede ejecutar el comando con la ruta JDK como la siguiente
./gradlew -Dorg.gradle.java.home=/jdk_path_directory
fuente
Si está utilizando linux y gradle wrapper, puede usar la siguiente solución.
Agregar ruta al archivo local.properties:
Agregue a su archivo de script gradlew:
En esta solución, cada desarrollador puede establecer su propia ruta JDK. El archivo
local.properties
no debe incluirse en el sistema de control de versiones.fuente
Agregué esta línea en mi archivo GRADLE_HOME / bin / gradle -
export JAVA_HOME=/path/to/java/version
fuente
Hay una opción más a seguir. En sus tareas de gradle, puede establecer su ruta jdk deseada. (Sé que ha pasado un tiempo desde que se publicó la pregunta. Esta respuesta puede ayudar a alguien).
Haga clic derecho en la implementación o en cualquier otra tarea y seleccione "Abrir configuración de ejecución de Gradle ..."
Luego navegue hasta "Java Home" y pegue la ruta de Java que desee.
Tenga en cuenta que la tarea de gradle agregará bin. Así que no agregue el "bin" a la ruta.
fuente
hay un complemento de Gradle que descarga / inicia un JDK automáticamente:
https://plugins.gradle.org/plugin/com.github.rmee.jdk-bootstrap
Todavía no hay integración IDE y se requiere un shell decente en Windows.
fuente
Para Windows, ejecute la tarea Gradle con el parámetro de ruta jdk 11 entre comillas
fuente
Como se ve en Gradle (complemento Eclipse)
http://www.gradle.org/get-started
Si está utilizando este complemento de Eclipse o Enide Studio 2014 , JAVA_HOME alternativo para usar (establecido en Preferencias) estará en la versión 0.15, consulte http://www.nodeclipse.org/history
fuente
Estoy usando Gradle 4.2. El JDK predeterminado es Java 9. En los primeros días de Java 9, Gradle 4.2 se ejecuta correctamente en JDK 8 (no JDK 9).
Configuré JDK manualmente de esta manera, en el archivo
%GRADLE_HOME%\bin\gradle.bat
:fuente
Si está utilizando JDK 9+, puede hacer esto:
También puede ver los siguientes problemas relacionados:
-release
argumento del compiladorfuente
Android Studio
Archivo> Estructura del proyecto> Ubicación del SDK> Ubicación del JDK>
GL
Instalar JDK
fuente
Si está utilizando Kotlin DSL,
build.gradle.kts
agregue:Por supuesto, supongo que tiene el sistema operativo Windows y el
javac
compilador está en caminoC:\bin\jdk-13.0.1\bin\javac
. Para el sistema operativo Linux será similar.fuente
Si solo desea configurarlo una vez para ejecutar un comando específico:
fuente