Jar - Probleme

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo Leute!

Ich versuche nun schon seit geraumer Zeit eine ausführbares Jar Datei zu erstellen.
Ich habe mir schon das alles durchgelesen, was hier bisher zu dem Problem geschrieben
wurde. Trotzdem bekomme ich das leider nicht zum laufen. :oops:

Ich erhalte immer die Fehlermeldung:
Code:
couldn´t find the main-class. Program will exit.

Um die Datei zu erstellen, habe ich in Eclipse folgendes ausprobiert:
File - Export - Java - Jar File...

Eclipse hat auch die Manifest-Datei erstellt in welcher steht:
Code:
Manifest-Version: 1.0
Main-Class: timer.Timer

Mein Paket heißt timer und die Hauptklasse (main) ist in Timer.java enthalten .
Daher ist als Festlegung timer.Timer doch korrekt oder?


bis bald,

Christian
 

L-ectron-X

Gesperrter Benutzer
Starte das Programm mal in der Console mit
Code:
java -jar Timer.jar
Ich gehe mal davon aus, dass das Jar auch so heißt, wie die Klasse.
Interessant ist die Fehlermeldung, die dabei ausgegeben wird.
 
G

Gast

Gast
Exception in thread "main" java.lang.NoClassDefFoundError: org/jdom/input/SAXBui
lder
at timer.Xml.getFile(Xml.java:14)
at timer.Xml.getFromXml(Xml.java:23)
at timer.Termine.<init>(Termine.java:10)
at timer.Timer.<init>(Timer.java:45)
at timer.Timer.main(Timer.java:84)
 

L-ectron-X

Gesperrter Benutzer
Is kla' nä? :wink:
Da fehlt eine Klasse bzw. Bibliothek. Das Jar, oder Verweise auf auf Bibliotheken sind unvollständig.
 
G

Gast2

Gast
Zitat:
Manifest-Version: 1.0
Main-Class: timer.Timer
Class-Path: jdom.jar


in deinem Classpath musst du alle deine jars mit reinpacken die du benutzt
 
G

Gast

Gast
Ich habe im Manifest ergänzt: Class-Path: jdom.jar
Leider wirft er immer noch eine Exception.
Muss die datei jdom.jar in den src - Ordner kopiert werden?
 
G

Gast2

Gast
nee muss nur in deinem projekt liegen ... was ist die akutelle exception die du bekommst??
 
G

Gast

Gast
Leider immer noch dieselbe wie oben:

Exception in thread "main" java.lang.NoClassDefFoundError: org/jdom/input/SAXBuilder
at timer.Xml.getFile(Xml.java:14)
at timer.Xml.getFromXml(Xml.java:23)
at timer.Termine.<init>(Termine.java:10)
at timer.Timer.<init>(Timer.java:45)
at timer.Timer.main(Timer.java:84)
 
G

Gast2

Gast
1.schon mal in das jar file reingeschaut ob deine klassen alle drin sind?????
2.da wo du die jar ausführst muss natülich auch das jdom.jar sein
 
G

Gast

Gast
Das ist ja super! :D
Das war die Lösung. Nachdem ich die JDom.jar in das Verzeichniss kopiert habe,
hat es funktioniert.

Vielen Dank für eure Hilfe.


Gruß,


Christian
 

Imwithstupid

Mitglied
Hallo, ich packe den Thead hier nochmal aus.
Ich habe ähnliche Probleme und auch mein PC steht quasi schon auf der Fensterbank und braucht nur noch einen kleinen Schubser. *g*

Also, ich habe mir die Sachen in dem Thread hier zu Gemüte geführt und habe meine Manifest.txt daraufhin auch abgeändert, aber ich bekomme trotzdem immer noch eine Fehlermeldung.

Also, dann mal alles im Überblick:

Main-Class befindet sich in folgender Ordner-Struktur: .\bin\gui\Launcher.class

Die zusätzlichen Libs habe ich hier: .\lib\...

Nun will ich daraus eine executable Jar machen und es gelingt mir die ganze Zeit nicht. :(

Also:

Manifest.txt:
Code:
Manifest-Version: 1.0
Main-Class: bin.gui.Launcher
Class-Path: lib.junit.jar lib.log4j-1.2.15.jar lib.mysql-connector-java-5.1.5-bin.jar

Ist das so richtig?

Danach gebe ich folgenden Befehl in der Konsole ein:
Code:
jar cmf Manifest.txt application.jar *.*

Dann erstellt der mir auch anstandslos die jar.

Dann starte ich die jar mit:
Code:
java -jar application.jar

und bekomme das hier:
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: bin/gui/Launcher (wrong name: gui/Launcher)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

Die Fehlermeldung ist ja an sich eindeutig, aber der Pfad stimmt und die Main-Class (Launcher.class) befindet sich auch da. :(

Ich brauch Hilfe, sonst schups ich den PC von der Fensterbank ^^
 

Giftstachel

Bekanntes Mitglied
suche mal nach fatjar. das ist ein eclipseplugin. runterladen, einbinden, und jars mit fatjar erstellen, und es klappt :)
 

L-ectron-X

Gesperrter Benutzer
Imwithstupid hat gesagt.:
Manifest.txt:
Code:
Manifest-Version: 1.0
Main-Class: bin.gui.Launcher
Class-Path: lib.junit.jar lib.log4j-1.2.15.jar lib.mysql-connector-java-5.1.5-bin.jar

Ist das so richtig?

Nein.
Deine externen Bibliotheken befinden sich doch nicht in einem gemeinsamen Package lib, sondern in einem Unterverzeichnis. Die Class-Path Zeile muss daher so aussehen:
Code:
Class-Path: lib/junit.jar lib/log4j-1.2.15.jar lib/mysql-connector-java-5.1.5-bin.jar
 

Imwithstupid

Mitglied
Also, ich habe mit FatJar eine Jar erstellen können, aber jetzt bekomme ich keine Verbindung mehr zur Datenbank hin, obwohl es im Debug-Mode von Eclispe wunderbar funktioniert.

Mit der Class-Path-Einstellung aus dem letzten Post erhalte ich leider immer noch die gleiche Fehlermeldung wie in meinem Post weiter oben, bisher hat leider keines der beiden Sachen funktioniert.

FatJar hat die benötigten externen jars mit eingebunden, denke ich zumindest, aber es geht eben leider trotzdem nicht, es kommt aber auch keine Fehlermeldung.

:(
 

outbreaker

Bekanntes Mitglied
wenn du die jar über die Konsole startest bekommst du keine Exceptions nichts?

>java -jar deine_fatjar.jar

Ansonsten überprüfe doch mal ob er überhaupt eine Verbindung zur DB bekommt indem du mal ein paar Ausgaben mit einbaust
 

Imwithstupid

Mitglied
Code:
\database\config.txt (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)

Und dann noch circa 100 Fehlermeldungen *g*

Ich glaube, der hat Probleme meine Konfig-Datei für die DB zu öffnen. Da stehen die Verbindungsdaten für die DB drin. Funktioniert im Debug wunderbar. Auch der angegebene Source-Pfad, welcher in der Fehlermeldung steht, ist an sich korrekt. :(
 

Imwithstupid

Mitglied
Also, die Datei ist in der Jar drin:

Datei config.txt:
Code:
#--------------------------------------------------------------------------
#
# Datasource der Datenbank (MySQL 5.1)

databaseUrl=jdbc:mysql://localhost:3306/dbName
databaseUser=sqlUser
databasePassword=sqlPassword

Einlesen in Java (Auszug aus Datei):
Code:
    private static Connection openConn() 
    throws Exception { 

    	Class.forName("com.mysql.jdbc.Driver").newInstance();
		FileInputStream fis = getConfigFile();
				
		Properties p = new Properties();
		p.load(fis);

		String user = p.getProperty("databaseUser");
		String password = p.getProperty("databasePassword");
		String url = p.getProperty("databaseUrl");

		return DriverManager.getConnection(url, user, password);
    }

private static FileInputStream getConfigFile() {        
		String path = DBConnector.class.getResource("config.txt").getPath();
		FileInputStream fs = null;
		try {
			fs = new FileInputStream(path);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return fs;
    }

Wie gesagt: Ging beim Debuggen alles prima
 

outbreaker

Bekanntes Mitglied
Das Problem liegt am FileInputStream benutze mal InputStream dann gehts bei mir:

Code:
	public void openConn()
    throws Exception {
      InputStream fis = getConfigFile();
            
      Properties p = new Properties();
      p.load(fis);

      String user = p.getProperty("databaseUser");
      String password = p.getProperty("databasePassword");
      String url = p.getProperty("databaseUrl");

      System.out.println(user + " " + password + " " + url);
    }

public InputStream getConfigFile() {       
	      return this.getClass().getResourceAsStream("config.txt");
	    }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Probleme mit drucken aus Java Java Basics - Anfänger-Themen 3
R Exceptions mit try-catch-Surrounding - Probleme Java Basics - Anfänger-Themen 6
D Probleme bei Verwendung short und int im Constuctor Java Basics - Anfänger-Themen 6
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
B Quiz mit RMI Probleme mit RMI start Java Basics - Anfänger-Themen 4
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
V Probleme Guessing Game Java Basics - Anfänger-Themen 8
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
J Probleme mit dem Debugger Java Basics - Anfänger-Themen 4
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Probleme mit Kompilierung Java Basics - Anfänger-Themen 11
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
C Probleme mit paintComponent Java Basics - Anfänger-Themen 13
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
C Probleme bei Regex Java Basics - Anfänger-Themen 9
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
L Probleme mit Java Java Basics - Anfänger-Themen 3
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme bei rekursiver Zuordnung Java Basics - Anfänger-Themen 1
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
H Best Practice View probleme Java Basics - Anfänger-Themen 2
B Probleme mit Kreisberechnung Java Basics - Anfänger-Themen 15
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
M Probleme beim verwenden von Packages Java Basics - Anfänger-Themen 6
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
V Klassen ObjectInputStream ->ReadObject Probleme Java Basics - Anfänger-Themen 5
P Probleme mit der Do-Schleife Java Basics - Anfänger-Themen 2
F Erste Schritte Compiling Probleme Java Basics - Anfänger-Themen 13
S Neuling und Probleme bei Schulaufgabe Java Basics - Anfänger-Themen 5
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
M Probleme mit Eclipse Java Basics - Anfänger-Themen 20
G Probleme beim casten von double zu int Java Basics - Anfänger-Themen 3
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
S Compiler-Fehler javac hat Probleme mit Paketen unter OSX Java Basics - Anfänger-Themen 2
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
B Variablen Probleme mit Eclipse Java Basics - Anfänger-Themen 6
H Mouse- und KeyListener Probleme? Java Basics - Anfänger-Themen 5
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
I Probleme bei Verzeichnissanalyse Java Basics - Anfänger-Themen 12
F Probleme mit privaten Klassen (abstrakten Klassen) Java Basics - Anfänger-Themen 1
H Probleme mit Klassen...oder: Eine Uhr Java Basics - Anfänger-Themen 9
G Probleme mit Konsole Java Basics - Anfänger-Themen 4
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
G Probleme mit Eclipse oder der URL Klasse Java Basics - Anfänger-Themen 5
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
W Methoden Probleme mit der Scanner Methode Java Basics - Anfänger-Themen 2
F Ja Nein Abfrage und andere Probleme Java Basics - Anfänger-Themen 5
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6

Ähnliche Java Themen


Oben