bully bully - 10 months ago 181
Java Question

How do I tell Gradle to use specific JDK version?

I'm sorry for the dumb question, but I can't figure out to get this working.


  • I have an application built with gradle

  • The application uses JavaFX

What I want

  • Use a variable (defined per developer machine) which points to an installation of a JDK which will be used for building the whole application / tests / ...

I thought about having the
file, defining the variable. Something like

JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK>

What I don't want

  • point
    to the desired JDK

I could live with many suggestions:

  • a solution that defines a system environment variable which I'm able to check in my build.gradle script

  • a variable defined in gradle.properties

  • overriding the JAVA_HOME variable only for the build context (something like
    use JAVA_HOME=<my special JDK path defined somewhere else defined>

  • something else I didn't think about


  • How to wire a variable (how ever defined, as variable in the
    , system environment variable, ...) to the build process?

I have more than one JDK7 available and need to point to a special version (minimum JDK_u version).

Like always, any answer is appreciated and I'm thankful for every hint to the right direction. Especially as Google seems to mislike me today -.-"


Two ways

  1. In gradle.properties in the .gradle directory in your HOME_DIRECTORY set org.gradle.java.home=/path_to_jdk_directory

  2. In your gradle.build

    compileJava.options.fork = true
    compileJava.options.forkOptions.executable = /path_to_javac