Saya tidak tahu untuk membuat ini berfungsi.
Skenario:
- Saya memiliki aplikasi yang dibangun dengan gradle
- Aplikasi ini menggunakan JavaFX
Apa yang saya inginkan
- Gunakan variabel (ditentukan per mesin pengembang) yang menunjuk ke instalasi JDK yang akan digunakan untuk membangun seluruh aplikasi / tes / ...
Saya berpikir tentang memiliki gradle.properties
file, mendefinisikan variabel. Sesuatu seperti
JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK>
Apa yang tidak saya inginkan
- arahkan
JAVA_HOME
ke JDK yang diinginkan
Saya bisa hidup dengan banyak saran:
- solusi yang mendefinisikan variabel lingkungan sistem yang dapat saya periksa di skrip build.gradle saya
- variabel yang didefinisikan dalam gradle.properties
- meng-override variabel JAVA_HOME hanya untuk konteks build (sesuatu seperti
use JAVA_HOME=<my special JDK path defined somewhere else defined>
) - sesuatu yang lain yang tidak saya pikirkan
Pertanyaan:
- Bagaimana cara mengirim variabel (bagaimana pernah didefinisikan, sebagai variabel dalam
gradle.properties
, variabel lingkungan sistem, ...) ke proses pembuatan?
Saya memiliki lebih dari satu JDK7 yang tersedia dan perlu menunjuk ke versi khusus (versi JDK_u minimum).
Setiap jawaban dihargai dan saya berterima kasih atas setiap petunjuk ke arah yang benar.
java
gradle
build.gradle
menggertak
sumber
sumber
org.gradle.java.home
digradle.properties
file? tautanorg.gradle.java.home
pengaturan hanya berlaku untuk gradle daemon, tampaknya ... Bagaimanapun, coba atur garpu ke true dan forkOptions. Dapat dieksekusi ke jdk yang ingin Anda gunakan: tautanJawaban:
Dua arah
gradle.properties
dalam.gradle
direktori diHOME_DIRECTORY
set Andaorg.gradle.java.home=/path_to_jdk_directory
atau:
Di Anda
build.gradle
sumber
gradle.properties
dapat didefinisikan pada tingkat proyek juga, lihat gradle.org/docs/current/userguide/build_environment.html./gradlew -Dorg.gradle.java.home=/path_to_jdk_directory
. Bagus jika Anda tidak ingin menyentuhgradle.properties
.Jika Anda menambahkan JDK_PATH di gradle.properties bangunan Anda menjadi bergantung pada jalur tertentu. Sebaliknya Jalankan tugas gradle dengan mengikuti parametemer baris perintah berikut
Dengan cara ini bangunan Anda tidak bergantung pada beberapa jalur konkret.
sumber
/usr/lib/java/jdk/home
yang menunjuk ke versi saat ini yang diinstal. Tentu saja ketika Anda menginginkan versi tertentu (mis. U51) maka Anda harus spesifik tentang path. Juga beberapa alat ingin kick-off gradle tampaknya tidak mengatur JDK di lingkungan yang mereka berikan gradle. Dan saya tidak pernah menetapkan JDK sebagai JAVA_HOME saat ini kecuali itu adalah sesi pengembangan.PROGRA~1
(semua huruf besar) atau apa pun yang dikatakan DIR / X kepada Anda."... gradle itself (either standalone distribution or wrapper) uses JDK from JAVA_HOME environment variable or (if it is not set) from PATH".
Saya menentukan JAVA_HOME sebelum panggilan tingkat lanjut untuk memperbaikinya. (mis.env JAVA_HOME=/path/to/java gradlew war --stacktrace
)Untuk orang-orang yang berakhir di sini ketika mencari Gradle yang setara dengan properti Maven
maven.compiler.source
(atau<source>1.8</source>
):Di build.gradle Anda dapat mencapainya dengan
Lihat dokumentasi Gradle tentang ini .
sumber
Jika Anda mengeksekusi menggunakan gradle wrapper, Anda dapat menjalankan perintah dengan path JDK seperti berikut
./gradlew -Dorg.gradle.java.home=/jdk_path_directory
sumber
Jika Anda menggunakan linux dan gradle wrapper, Anda dapat menggunakan solusi berikut.
Tambahkan path ke file local.properties:
Tambahkan ke file skrip gradlew Anda:
Dalam solusi ini, setiap pengembang dapat menetapkan jalur JDK sendiri. File
local.properties
tidak boleh dimasukkan dalam sistem kontrol versi.sumber
Saya menambahkan baris ini dalam file GRADLE_HOME / bin / gradle saya -
export JAVA_HOME=/path/to/java/version
sumber
Ada satu opsi lagi untuk diikuti. Dalam tugas gradle Anda, Anda dapat mengatur jalur jdk yang Anda inginkan. (Saya tahu ini sudah lama sejak pertanyaan itu diposting. Jawaban ini dapat membantu seseorang.)
Klik kanan pada penyebaran atau tugas lain dan pilih "Open Gradle Run Configuration ..."
Lalu navigasikan ke "Java Home" dan rekatkan jalur java yang Anda inginkan.
Harap dicatat bahwa, bin akan ditambahkan oleh tugas gradle itu sendiri. Jadi jangan tambahkan "bin" ke path.
sumber
ada plugin Gradle yang mengunduh / mem-bootstrap JDK secara otomatis:
https://plugins.gradle.org/plugin/com.github.rmee.jdk-bootstrap
Belum ada integrasi IDE dan shell yang layak pada Windows.
sumber
Untuk windows jalankan tugas gradle dengan parameter path jdk 11 dalam tanda kutip
sumber
Seperti yang terlihat di Gradle (Eclipse plugin)
http://www.gradle.org/get-started
Jika Anda menggunakan plugin Eclipse atau Enide Studio 2014 ini , JAVA_HOME alternatif untuk digunakan (diatur dalam Preferensi) akan ada di versi 0.15, lihat http://www.nodeclipse.org/history
sumber
Saya menggunakan Gradle 4.2. Default JDK adalah Java 9. Pada awal Java 9, Gradle 4.2 berjalan pada JDK 8 dengan benar (bukan JDK 9).
Saya mengatur JDK secara manual seperti ini, dalam file
%GRADLE_HOME%\bin\gradle.bat
:sumber
Jika Anda menggunakan JDK 9+, Anda dapat melakukan ini:
Anda juga dapat melihat masalah terkait berikut ini:
-release
argumen kompilersumber
Android Studio
File> Struktur Proyek> Lokasi SDK> Lokasi JDK>
GL
Instal JDK
sumber
Jika Anda menggunakan Kotlin DSL, maka
build.gradle.kts
tambahkan:Tentu saja, saya berasumsi bahwa Anda memiliki OS Windows dan
javac
kompiler sedang berjalanC:\bin\jdk-13.0.1\bin\javac
. Untuk Linux OS akan sama.sumber
Jika Anda hanya ingin mengaturnya sekali untuk menjalankan perintah tertentu:
sumber