Guten Tag,
ich versuche schon eine weile mein JavaFX Projekt zu exportieren, ohne beim Start der .Jar die Libs (javafx.controls, javafx.graphics, javafx.fxml usw.) hinzufügen zu müssen. Also einfach die .Jar ausführen und dann soll die Anwendung starten.
Ich habe es mit Gradle versucht (falls das überhaut geht), hat aber nicht funktioniert.
Ich habe ein Beispielprojekt von Github dafür genutzt, um es zu testen. Das exportieren der Jar über Gradle funktioniert, aber beim starten ist wohl was mit der Manifest-Datei fehlerhaft (bin mir aber nicht sicher).
Würde mich freuen, wenn mir einer dabei helfen könnte. Habe nicht sehr viel Ahnung von Gradle, bitte für die Antworten berücksichtigen :-D
build.gradle:
ich versuche schon eine weile mein JavaFX Projekt zu exportieren, ohne beim Start der .Jar die Libs (javafx.controls, javafx.graphics, javafx.fxml usw.) hinzufügen zu müssen. Also einfach die .Jar ausführen und dann soll die Anwendung starten.
Ich habe es mit Gradle versucht (falls das überhaut geht), hat aber nicht funktioniert.
Ich habe ein Beispielprojekt von Github dafür genutzt, um es zu testen. Das exportieren der Jar über Gradle funktioniert, aber beim starten ist wohl was mit der Manifest-Datei fehlerhaft (bin mir aber nicht sicher).
Würde mich freuen, wenn mir einer dabei helfen könnte. Habe nicht sehr viel Ahnung von Gradle, bitte für die Antworten berücksichtigen :-D
build.gradle:
Java:
plugins {
id 'application'
id 'eclipse'
id 'org.openjfx.javafxplugin' version '0.0.13'
id 'org.beryx.jlink' version '2.24.4'
}
group 'com.mechanitis'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
javafx {
version = "18"
modules = ['javafx.controls', 'javafx.graphics', 'javafx.fxml']
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}
test {
useJUnitPlatform()
}
application {
mainModule.set('com.mechanitis.demo.javafxgradle')
mainClass.set('com.mechanitis.demo.javafxgradle.HelloFX')
}
jar {
manifest {
attributes 'Main-Class': 'com.mechanitis.demo.javafxgradle.HelloFX'
}
}
java {
modularity.inferModulePath.set(true)
}