Hallo liebe Community,
Ich als Java Anfänger wollte wissen wie ich aus einem JavaFX Projekt eine ausführbare Jar Datei erstellen kann. Auf der Seite
openjfx habe ein Gradle JavaFX Sample runtergeladen um damit ein wenig zu experimentieren. Im Terminal gab ich den Befehl gradle build ein, dieser erstellte eine Jar und gab keine Fehler an. Beim ausführen der Jar allerdings passiert nichts. Ich habe dann versucht mit dem Befehl java -jar die Jar auszuführen und es kam folgende Meldung: "no main manifest attribute in..." Wenn ich aber das Programm in Visual Code Studio starte öffnet sich die JavaFX Anwendung ohne Probleme...
Könnt ihr mir helfen wie ich aus diesem Sample eine lauffähige Jar erstellen kann damit ich auch zukünftig beim Erstellen von JavaFX Anwendungen keine Probleme bekomme, denn bei meinem JavaFX Programm habe ich nämlich das selbe Problem...
Ich nutze Gradle 6.2, Visual Studio Code und java 13.0.2
Hier die build.gradle:
und die einzige Klasse:
Ich als Java Anfänger wollte wissen wie ich aus einem JavaFX Projekt eine ausführbare Jar Datei erstellen kann. Auf der Seite
openjfx habe ein Gradle JavaFX Sample runtergeladen um damit ein wenig zu experimentieren. Im Terminal gab ich den Befehl gradle build ein, dieser erstellte eine Jar und gab keine Fehler an. Beim ausführen der Jar allerdings passiert nichts. Ich habe dann versucht mit dem Befehl java -jar die Jar auszuführen und es kam folgende Meldung: "no main manifest attribute in..." Wenn ich aber das Programm in Visual Code Studio starte öffnet sich die JavaFX Anwendung ohne Probleme...
Könnt ihr mir helfen wie ich aus diesem Sample eine lauffähige Jar erstellen kann damit ich auch zukünftig beim Erstellen von JavaFX Anwendungen keine Probleme bekomme, denn bei meinem JavaFX Programm habe ich nämlich das selbe Problem...
Ich nutze Gradle 6.2, Visual Studio Code und java 13.0.2
Hier die build.gradle:
Code:
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.8'
}
repositories {
mavenCentral()
}
javafx {
version = "13"
modules = [ 'javafx.controls' ]
}
mainClassName = 'HelloFX'
und die einzige Klasse:
Java:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class HelloFX extends Application {
@Override
public void start(Stage stage) {
String javaVersion = System.getProperty("java.version");
String javafxVersion = System.getProperty("javafx.version");
Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
Scene scene = new Scene(new StackPane(l), 640, 480);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch();
}
}