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.
If you are executing using gradle wrapper, you can run the command with JDK path like following
./gradlew -Dorg.gradle.java.home=/jdk_path_directory
Two ways
In
gradle.properties
in the.gradle
directory in yourHOME_DIRECTORY
setorg.gradle.java.home=/path_to_jdk_directory
In your
build.gradle
There is one more option to follow. In your gradle tasks, you can set your desired jdk path. (I know this is a while since the question was posted. This answer can help someone.)
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. So don't add the "bin" to the path.
I added this line in my GRADLE_HOME/bin/gradle file -
export JAVA_HOME=/path/to/java/version
To people ending up here when searching for the Gradle equivalent of the Maven property
maven.compiler.source
(or<source>1.8</source>
):In build.gradle you can achieve this with
See the Gradle documentation on this.
I am using Gradle 4.2 . Default JDK is Java 9. In early day of Java 9, Gradle 4.2 run on JDK 8 correctly (not JDK 9).
I set JDK manually like this, in file
%GRADLE_HOME%\bin\gradle.bat
: