Eclipse – Ausführbarer JAR-Dateiexport verhält sich wie ein OrdnerJava

Java-Forum
Guest
 Eclipse – Ausführbarer JAR-Dateiexport verhält sich wie ein Ordner

Post by Guest »

Verwendung von Eclipse, JDK 23 und JavaFX 23.0.1.
Bevor ich wirklich an meinem Projekt arbeite, möchte ich sicherstellen, dass es tatsächlich einwandfrei läuft, wenn es in eine Anwendung exportiert wird.
Die Anwendung (die vorgefertigte beim Erstellen eines neuen JavaFX-Projekts) läuft in Eclipse einwandfrei, aber beim Exportieren in eine ausführbare JAR-Datei sieht sie aus und verhält sich wie ein normaler Ordner. Führt nichts aus.
Ich habe versucht, die Bibliotheken beim Export sowohl zu packen als auch zu extrahieren, und habe eine Systemvariable (Umgebungsvariablen) für Java sowohl als JAVA_HOME- als auch als Pfadvariable festgelegt.
Ich habe durch das Video von Bro Code etwas über Java gelernt (hier kommt es auf das letzte Kapitel an) und hoffte daher, dass das Programm beim Exportieren als ausführbare Jar-Datei einfach ausgeführt wird, wenn darauf doppelgeklickt wird, wie es bei Desktop-Verknüpfungen der Fall ist. Stattdessen erhalte ich einen gezippten WinRAR-Ordner, wenn ich .jar verwende, oder einen gezippten regulären Ordner, wenn ich .zip verwende. WinRAR ist nicht einmal darauf eingestellt, mit JAR-Dateien verknüpft zu werden.
Die Hauptklassendatei enthält alles, was sie zum Ausführen in der IDE benötigt:

Code: Select all

package application;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;

public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = new BorderPane();
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
launch(args);
}
}
Verzeichnisbaum:

Code: Select all

C:\USERS\[name]\ECLIPSE-WORKSPACE\[project name]
│   .classpath
│   .project
│   build.fxbuild
│
├───.settings
│       org.eclipse.core.resources.prefs
│       org.eclipse.jdt.core.prefs
│
├───bin
│   │   module-info.class
│   │
│   └───application
│           application.css
│           Main.class
│
└───src
│   module-info.java
│
└───application
application.css
Main.java
Der Export erfolgt durch Rechtsklick auf die Projektdatei > Exportieren > Ausführbare JAR-Datei > Hauptklasse auswählen, die zum Projekt gehört > Exportziel auswählen > „Erforderliche Bibliotheken in generiertes JAR extrahieren“ auswählen > Fertig stellen. Alles, was exportiert wird, ist ein Ordner, es passiert nichts außer dem normalen Ordnerverhalten beim Doppelklicken
Bro Code hat auch einen Abschnitt erstellt, der die Verwendung von Launch4j demonstriert, das eine JAR-Datei und andere Dinge nimmt und sie umwandelt in eine .exe-Datei konvertieren, aber ich würde ein Runnable Jar bevorzugen, wenn die Verwendung von .exe keinen allzu großen Unterschied oder zusätzlichen Nutzen mit sich bringt. Ich werde es jedoch versuchen, wenn .exe ideal ist, um die exportierte App mit anderen zu teilen (vorerst auf dem Desktop).

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post