Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I tell Gradle to use specific JDK version?

I can't figure out to get this working.

Scenario:

  • 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 gradle.properties file, defining the variable. Something like

JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK> 

What I don't want

  • point JAVA_HOME 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

Question:

  • How to wire a variable (how ever defined, as variable in the gradle.properties, 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).

Any answer is appreciated and I'm thankful for every hint to the right direction.

like image 643
bully Avatar asked Aug 28 '13 12:08

bully


People also ask

How do I select a JDK in Gradle?

Right click on the deploy or any other task and select "Open Gradle Run Configuration..." Then navigate to "Java Home" and paste your desired java path. Please note that, bin will be added by the gradle task itself.

How does Gradle determine Java version?

By default, Gradle uses the java version from the JAVA_HOME environment variable path configured in the machine, and JAVA_HOME points to JDK installed on the machine. For example, the machine is installed with the JDK 1.8 version and the Gradle project needs a java 11 version.

How do I change the Java version in Gradle settings dialog?

Access the Gradle JVM settingsIn the Settings/Preferences dialog ( Ctrl+Alt+S ), select Build, Execution, Deployment | Build Tools | Gradle. On the Gradle settings page, under the Gradle section, use the Gradle JVM option to check the Gradle version used for importing a project.

How do I specify the Gradle version?

You can specify the Gradle version in either the File > Project Structure > Project menu in Android Studio, or by editing the Gradle distribution reference in the gradle/wrapper/gradle-wrapper. properties file.


1 Answers

Two ways

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

or:

  1. In your build.gradle

     compileJava.options.fork = true  compileJava.options.forkOptions.executable = '/path_to_javac' 
like image 108
First Zero Avatar answered Sep 22 '22 23:09

First Zero