Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht

KonradN

Super-Moderator
Mitarbeiter
Was sollen die ganzen ChatGPT Antworten? Irgendwie etwas nervig.

Wenn das jar nicht ausgeführt werden kann, dann kann es an vielen Gründen liegen:
  • Das jar File hat kein Manifest.
  • Es fehlen Abhängigkeiten
  • Das System ist nicht richtig eingerichtet

Was ein erster Versuch auf der Kommandozeile wäre, wäre ein Aufruf:
java -jar die-ersteller-datei.jar


Aber unabhängig davon wäre die Frage erst einmal: Was genau für ein Projekt hast Du? NetBeans ist eine Entwicklungsumgebung, die viele Projektarten unterstützt. Generell empfehle ich, Maven oder Gradle Projekte zu nutzen, da dort die Projekte in einer oder mehrere Textdatei zu finden sind, die leicht angepasst und auch im Forum gepostet werden können.

Zu dem verwendeten Tool:
Ab Java 9 gibt es JLink - das erzeugt sogenannte Images zum ausführen
Ab Java 14 gibt es JPackage - damit kann man ein exe erzeugen
Meine Empfehlung geht ganz klar in diese Richtung: Aktuelles Java, Maven Projekt und dann Erzeugung der Gewünschten Dateien mittels JPackage.
 

grafsoft

Mitglied
Was sollen die ganzen ChatGPT Antworten? Irgendwie etwas nervig.

Wenn das jar nicht ausgeführt werden kann, dann kann es an vielen Gründen liegen:
  • Das jar File hat kein Manifest.
  • Es fehlen Abhängigkeiten
  • Das System ist nicht richtig eingerichtet

Was ein erster Versuch auf der Kommandozeile wäre, wäre ein Aufruf:
java -jar die-ersteller-datei.jar


Aber unabhängig davon wäre die Frage erst einmal: Was genau für ein Projekt hast Du? NetBeans ist eine Entwicklungsumgebung, die viele Projektarten unterstützt. Generell empfehle ich, Maven oder Gradle Projekte zu nutzen, da dort die Projekte in einer oder mehrere Textdatei zu finden sind, die leicht angepasst und auch im Forum gepostet werden können.

Zu dem verwendeten Tool:
Ab Java 9 gibt es JLink - das erzeugt sogenannte Images zum ausführen
Ab Java 14 gibt es JPackage - damit kann man ein exe erzeugen
Meine Empfehlung geht ganz klar in diese Richtung: Aktuelles Java, Maven Projekt und dann Erzeugung der Gewünschten Dateien mittels JPackage.
Ja, er sagt "Kein Hauptmanifestattribut". Vielen Dank, jetzt kann ich recherchieren. Auch der Hinweis mit JPackage ist für später wertvoll.
 

KonradN

Super-Moderator
Mitarbeiter
Ja, er sagt "Kein Hauptmanifestattribut". Vielen Dank, jetzt kann ich recherchieren. Auch der Hinweis mit JPackage ist für später wertvoll.
Da würde ich gerne die Frage nach dem genauen Projekt Typ bringen. Da könnte man dann direkt weiter helfen.

Bei Maven (da hast du eine pom.xml) kann man das z.B. direkt im jar plugin konfigurieren:
Apache Maven Archiver – Set Up The Classpath
(Abschnitt "Make the jar executable)

Wenn Du ein ausführbares Ergebnis haben willst, dann ist das aber kein notwendiger Schritt. Da wäre es möglich, direkt mit dem JPackage plugin etwas zu bauen. Das ist dann etwas, das ich z.B. in kneitzel/JavaMavenApp (github.com) aufzeige.
 

grafsoft

Mitglied
Da würde ich gerne die Frage nach dem genauen Projekt Typ bringen. Da könnte man dann direkt weiter helfen.

Bei Maven (da hast du eine pom.xml) kann man das z.B. direkt im jar plugin konfigurieren:
Apache Maven Archiver – Set Up The Classpath
(Abschnitt "Make the jar executable)

Wenn Du ein ausführbares Ergebnis haben willst, dann ist das aber kein notwendiger Schritt. Da wäre es möglich, direkt mit dem JPackage plugin etwas zu bauen. Das ist dann etwas, das ich z.B. in kneitzel/JavaMavenApp (github.com) aufzeige.
Es ist Maven mit Swing. Danke im voraus :)
 

grafsoft

Mitglied
Dann kann es interessant sein, sich das Projekt auf GitHub anzusehen. Da sind noch einige Dinge mehr mit drin wie
  • Check der Versionen der Abhängigkeiten
  • Statische Codeanalyse

Aber das müsste alles genau so passen.
Da müsste ich einmal Github ordentlich lernen, um nicht alles falsch zu machen. Gibt es eine Lernquelle für Dummies?
 

KonradN

Super-Moderator
Mitarbeiter
Es gibt einiges an Dokumentation:
GitHub Docs
Dabei ist auch ein Get Started.

Hier kann es aber ausreichen, einfach das Repository als ZIP herunter zu laden. Dazu einfach auf den Knopf Code gehen und dann im Menu Download ZIP auswählen. Einfach entpacken und Du hättest ein Projekt, mit dem Du starten könntest.
 

grafsoft

Mitglied
Es gibt einiges an Dokumentation:
GitHub Docs
Dabei ist auch ein Get Started.

Hier kann es aber ausreichen, einfach das Repository als ZIP herunter zu laden. Dazu einfach auf den Knopf Code gehen und dann im Menu Download ZIP auswählen. Einfach entpacken und Du hättest ein Projekt, mit dem Du starten könntest.
Ich habe das Projekt auf Github, aber es ist nicht öffentlich weil ich dabei auf meinem Server zugreife und keine Hackerangriffe will. Darf ich dich einladen? Ist dein Github-Name auch KonradN?
 

KonradN

Super-Moderator
Mitarbeiter
Ich habe mal die pom.xml so angepasst, dass da nun ein Manifest mit der man class mit angelegt wird.
Wenn Du Dinge machst, die auch die Abhängigkeiten benötigt, so müsste man sich auch noch darum kümmern. Das ist dann ein anderes Thema. Aber der Start der jar Datei funktioniert und es kommt dann jetzt die Ausgabe der main Methode.
 

KonradN

Super-Moderator
Mitarbeiter
Als Zusatz - damit die Abhängigen jar Dateien mit vorhanden sind - kannst Du die auch noch kopieren. Das wäre dann z.B. so zu konfigurieren:
XML:
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.5.0</version>
                <executions>
                    <!-- erstmal Abhängigkeiten für den Class-Path kopieren -->
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}</outputDirectory>
                            <includeScope>runtime</includeScope>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
 

grafsoft

Mitglied
Als Zusatz - damit die Abhängigen jar Dateien mit vorhanden sind - kannst Du die auch noch kopieren. Das wäre dann z.B. so zu konfigurieren:
XML:
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.5.0</version>
                <executions>
                    <!-- erstmal Abhängigkeiten für den Class-Path kopieren -->
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}</outputDirectory>
                            <includeScope>runtime</includeScope>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
Vielen vielen Dank! Jetzt muss ich noch den richtig einbinden -
org.apache.commons.io.filefilter.WildcardFileFilter
Aber das recherchiere ich gerade, damit ich es auch verstehe.
 

KonradN

Super-Moderator
Mitarbeiter
XML:
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.11.0</version>
        </dependency>

Du kannst einmal Apache Commons suchen - dann findest Du Apache Commons – Apache Commons

Und da findest Du bei IO dann die Version 2.11.0 und auch den Link zu Maven Central.
 

grafsoft

Mitglied
XML:
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.11.0</version>
        </dependency>

Du kannst einmal Apache Commons suchen - dann findest Du Apache Commons – Apache Commons

Und da findest Du bei IO dann die Version 2.11.0 und auch den Link zu Maven Central.
Danke! Jetzt kompiliert er fehlerlos, auch von der Kommandozeile, aber das .jar startet nicht. Das ist das POM-File:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.grafsoft</groupId>
<artifactId>G_Ngram_2</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>19</maven.compiler.source>
<maven.compiler.target>19</maven.compiler.target>
<mainClass>com.grafsoft.g_ngram_1.G_Ngram_2</mainClass>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.41.2.1</version>
</dependency>
<!--
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.3</version>
</dependency>

<dependency>
<groupId>1</groupId>
<artifactId>2</artifactId>
<version>1.0</version>
</dependency>
-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>${mainClass}</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.5.0</version>
<executions>
<!-- erstmal Abhängigkeiten für den Class-Path kopieren -->
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<includeScope>runtime</includeScope>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
 

grafsoft

Mitglied
Start bei Doppelklick oder durch einfachen Aufruf - gar nichts.

Mit java -jar "Hello World"! Irgendwie sollte ich ihm beim Kompilieren wohl sagen dass ich main1.java gestartet haben will (?)
 

KonradN

Super-Moderator
Mitarbeiter
Du hast in der pom die Property für die main Class:
<mainClass>com.grafsoft.g_ngram_1.G_Ngram_2</mainClass>

Damit konfigurierst Du die Klasse, die gestartet werden soll. Die eigentliche Konfiguration dazu ist im Plugin:
XML:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.3.0</version>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <mainClass>${mainClass}</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
C Programm JAR startet nicht - Could not create the Java Virtual Machine Java Basics - Anfänger-Themen 4
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
M Kann Java Programm nicht starten Java Basics - Anfänger-Themen 7
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
M Kann mein Java Programm nicht starten Java Basics - Anfänger-Themen 6
P Java Programm läuft nicht auf MAC Java Basics - Anfänger-Themen 7
B Java programm mit Arrays. finde den Fehler nicht Java Basics - Anfänger-Themen 3
S java programm started nicht: invalid or corrupt jarfile Java Basics - Anfänger-Themen 3
M Java Mail Programm Java Basics - Anfänger-Themen 4
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
D JAVA Programm schreiben Java Basics - Anfänger-Themen 46
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
B Java Programm soll mit Python kommunizeren Java Basics - Anfänger-Themen 1
M JAVA Programm in Website einbinden Java Basics - Anfänger-Themen 19
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
TimoN11 Mail Programm mit Java? Java Basics - Anfänger-Themen 1
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
G Java-Programm Terminal Java Basics - Anfänger-Themen 2
Dimax Java Programm mit exec starten Java Basics - Anfänger-Themen 5
I Java Programm sieht wie exe aus. Java Basics - Anfänger-Themen 3
G Java-Programm weitergeben Java Basics - Anfänger-Themen 14
W Java Programm mit API Anbindung Java Basics - Anfänger-Themen 2
D Java Programm mit JavaScript einbinden Java Basics - Anfänger-Themen 8
X Java Programm MacOS Java Basics - Anfänger-Themen 1
F Java Programm schließen Java Basics - Anfänger-Themen 1
M Java Methode editierbar machen im Programm Java Basics - Anfänger-Themen 62
B Mit Java anderes Java Programm starten Java Basics - Anfänger-Themen 3
J Java Programm Java Basics - Anfänger-Themen 29
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
L Java Programm zum Auswerten von Daten Java Basics - Anfänger-Themen 11
S Bestehendes Java Programm, einen festen Wert ändern Java Basics - Anfänger-Themen 17
L Java Zip-Programm Java Basics - Anfänger-Themen 16
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
B Brauch Hilfe für Java Programm Java Basics - Anfänger-Themen 12
T CMD über Java-Programm aufrufen Java Basics - Anfänger-Themen 2
L Java-Programm kompilieren Java Basics - Anfänger-Themen 24
D Java BlueJ Programm wiederholen? Java Basics - Anfänger-Themen 6
M Java Programm: Lottozahlen Java Basics - Anfänger-Themen 4
I Java Programm Java Basics - Anfänger-Themen 12
F Java Programm öffnen Java Basics - Anfänger-Themen 3
A Erste Schritte Programm in Shell mit bestimmter Java-Version aufrufen Java Basics - Anfänger-Themen 10
J Pdf-Dokument im Java-Programm öffnen Java Basics - Anfänger-Themen 3
M Chat Programm in Java Java Basics - Anfänger-Themen 1
M Wie sicher sind Daten im Java Programm? Java Basics - Anfänger-Themen 9
M Mein erstes Java Programm Java Basics - Anfänger-Themen 5
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
L Konsole öffnen und Java Programm darin ausführen Java Basics - Anfänger-Themen 4
T CMD mit Java Programm öffnen? Java Basics - Anfänger-Themen 5
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5
G Input/Output CSV-Datei über Java-Programm erstellen, Zeichensalat Java Basics - Anfänger-Themen 3
F Java-Programm gibt in Eingabeaufforderung nichts aus Java Basics - Anfänger-Themen 4
M Erste Schritte Java programm unable to access Java Basics - Anfänger-Themen 10
? Klassen einfacher Fehler in einem Java Programm. Java Basics - Anfänger-Themen 5
? Methoden Fehler in einfachem Java Programm. Java Basics - Anfänger-Themen 9
T Selbst erstellten Dateityp mit java Programm assoziieren? Java Basics - Anfänger-Themen 4
S Programm wie Java? Java Basics - Anfänger-Themen 10
M C++ programm (kompiliertes) aus java aufrufen Java Basics - Anfänger-Themen 7
A Eclipse - Java-Programm exportieren für Ubuntu TLS 10 Java Basics - Anfänger-Themen 9
F Java-Programm aus CMD ausführen mit Parametern Java Basics - Anfänger-Themen 7
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
P Probleme Java Programm Java Basics - Anfänger-Themen 6
MiMa Lauffähiges Java Programm erstellen Java Basics - Anfänger-Themen 4
J C++ Bitmanipulations-Programm in Java umwandeln Java Basics - Anfänger-Themen 10
N Java Programm im CMD Fenster öffnen, wie? Java Basics - Anfänger-Themen 17
S Externes Java Programm starten Java Basics - Anfänger-Themen 9
D Java Programm auf Kommandozeile durchführen Java Basics - Anfänger-Themen 12
V Java Chat Programm Problem mit IP Addresse Java Basics - Anfänger-Themen 7
S Hilfe zu Java-Programm und JUnit Test!! Java Basics - Anfänger-Themen 5
P Java Programm in Powerpoint Java Basics - Anfänger-Themen 5
Y Java Programm URL und String Vergleich! Java Basics - Anfänger-Themen 4
U Java-Programm auf einem Server starten Java Basics - Anfänger-Themen 33
G Kleine Java Programme aus Main Java Programm starten..... Java Basics - Anfänger-Themen 3
P Java Programm von außen aufrufen Java Basics - Anfänger-Themen 8
D Java programm durch vorgegebene bat ausführen Java Basics - Anfänger-Themen 3
Crashbreaker Eigene Java-Programm ohne hilfe des CMD starten Java Basics - Anfänger-Themen 11
S Interpreter-Fehler Java - Programm ausführen! Java Basics - Anfänger-Themen 12
B Grafische Oberfläche für Java-Programm Java Basics - Anfänger-Themen 5
T Mac OSX - Programm aus Java öffnen Java Basics - Anfänger-Themen 3
H Wie kann ich offline ein Java Programm abspeichern Java Basics - Anfänger-Themen 14
U Visual-Basic Programm mit Java steuern Java Basics - Anfänger-Themen 8
K In MySQL Select Variablen aus Java Programm benutzen Java Basics - Anfänger-Themen 8
J Java-Programm starten Java Basics - Anfänger-Themen 6
C java programm mit Texten, speichern und so Java Basics - Anfänger-Themen 3
W Java-Programm als Icon mit Doppelklick einfach öffnen ? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben