# Executable JAR startet nicht - Hilfe !



## EagelEyeSam (20. Jan 2010)

Liebes Forum

sorry für dieses Posting, hier gibt es wahrscheinlich hunderte von Beiträgen zu dieser Problematik und im Netz allgemein, aber ich werde einfach nicht schlau ...

Ich kann grundsätzlich ein ausführbares JAR erstellen - automatisch mit Eclispe und einem Dummy Projekt, das ein File schreibt ...

Aber meine Applikation startet einfach nicht. Ich versuche die Applikation mit einem Doppelklick auf das JAR zu starten (klappt mit dem Dummy Programm) und nichts geschieht ... würde ich in der Konsole mehr sehen ?

Ich habe keinerlei externe JAR's in meinem Projekt (nur SWING und Java) und die Anwendung läuft aus der IDE einwandfrei.

Sorry & danke !
Thomas


----------



## EagelEyeSam (20. Jan 2010)

Ok, ich habe jetzt das JAR mal aus der Konsole raus gestartet mit java Hoover, Hoover ist mein Projektname. Gibt folgende Fehlermeldung:

Exception in thread "main" java.lang.NoClassDefFoundError: Hoover
usw.

Ich habe aber meine Klasse mit der main Methode beim Export in Eclipse angegeben.
Es gibt btw auch keine Klasse Hoover, sondern nur das Projekt heisst so ...

Was muss ich tun ?

Thomas


----------



## L-ectron-X (20. Jan 2010)

Jar-Dateien werden aber ganz anders gestartet, zumindest das hättest du bei deiner Suche finden können/müssen!


```
java -jar Hoover.jar
```
Wenn die Jar richtig erzeugt wurde und bspw. Hoover.jar heißt.


----------



## EagelEyeSam (20. Jan 2010)

Ja, danke & sorry !

Habe eine neue Fehlermeldung mit der ich vielleicht was anfangen kann !

Vielen Dank & sonst bis später !


----------



## L-ectron-X (20. Jan 2010)

Falls du nicht klar kommst, poste dann bitte die gesamte Fehlermeldung.


----------



## EagelEyeSam (20. Jan 2010)

Dank dir nochmals !

Ich habe das Problem gefunden: Ich verwende eine XML Datei in meinem Programm, wahrscheinlich müsste ich diese jetzt irgendwie in das JAR einbinden können ... weiss aber noch nicht genau wie ...

Ich habe jetzt in meiner Ordnerstruktur wo ich das JAR File hinkopiert habe ein zusätzliches Verzeiches \src\ressources (wie das File in Eclipse platziert ist) gemacht und das XML File da reinkopiert und mein Programm startet ! Ist natürlich trotzdem keine Lösung

Thomas


----------



## Empire Phoenix (20. Jan 2010)

Guck dir classloader an, sit ein anfangs beshissenes thema, aber damti aknsnte alles in die jar mit reinpacken und von dort laden oder jedem anderen ort, zb einer website Muss dann nur noch der pfad/url für geändert werden. Generell kann ich java und File objects im normalfall nicht empfehlen, ausser man benutzt sie um auf externe Dateien zuzugreifen.


----------



## EagelEyeSam (20. Jan 2010)

Ja, vielen Dank für deinen Hinweis. Habe bereits etwas in die Richtung gefunden. Auf die Schnelle bekomme ich das allerdings nicht hin.

Gruss
Thomas


----------



## Gastredner (20. Jan 2010)

Dateien aus der .jar laden:

```
File file = new File(this.getClass().getResource("/einOrdnerImJar/DieDateiImJar.endung"));
```
Möglicherweise musst du hinter [c]getResource("...")[/c]auch noch [c]toURI()[/c]aufrufen, das hab ich jetzt nicht überprüft.
Selbst mit einem eigenen ClassLoader herumwurschteln brauch man normalerweise nicht.


----------



## MrSnake (11. Jun 2016)

Ich habe jetzt das gleich Problem - ich habe zum ersten mal eine jar erstellt, die nicht startet.
Über die IDE (IntelliJ) klappt natürlich alles einwandfrei - aber wenn ich die erstellte jar anklicke passiert nichts.

Über die Konsole bekomme ich folgende Meldung:


```
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)
        at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Exception in Application start method
        at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: javafx.fxml.LoadException:
file:/C:/gm.jar!/gmt/view/MainView.fxml

        at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.load(Unknown Source)
        at gmt.Start.start(Start.java:25)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(Unknown Source)
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(Unknown Source)
        at com.sun.javafx.application.PlatformImpl.lambda$null$173(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(Unknown Source)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$null$148(Unknown Source)
        ... 1 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at sun.reflect.misc.Trampoline.invoke(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
        ... 18 more
Caused by: java.lang.NullPointerException
        at java.lang.String.contains(Unknown Source)
        at gmt.controller.MainController.initialize(MainController.java:49)
        ... 27 more
Exception running application gmt.Start
```

Mit FXML habe ich noch nicht viel Erfahrung, ich verstehe nicht weshalb die FXML Datei über die IDE gefunden und geladen wird, bei der jar aber nicht...


----------



## MrSnake (11. Jun 2016)

Ich habe in den tiefen des Internets gekramt und eine Funktion gefunden die mir geholfen hat dejn Fehler einzugrenzen:


```
String fxmlFile ="/view/MainView.fxml";
    Parent root =null;
    URL    url  =null;
    try
    {
        url  = getClass().getResource( fxmlFile );
        root =FXMLLoader.load( url );
        System.out.println("  fxmlResource = "+ fxmlFile );
    }
    catch(Exception ex )
    {
        System.out.println("Exception on FXMLLoader.load()");
        System.out.println("  * url: "+ url );
        System.out.println("  * "+ ex );
        System.out.println("    ----------------------------------------\n");
        throw ex;
    }
```

Dabei kommen bei mir folgende Fehler:

String fxmlFile ="/view/MainView.fxml"; erzeugt

```
Exception on FXMLLoader.load()
  * url: null
  * java.lang.NullPointerException: Location is required.
    ----------------------------------------
```

String fxmlFile = "\\view\\MainView.fxml"; erzeugt

```
Exception on FXMLLoader.load()
  * url: file:/C:/Users/MrSnake/Desktop/GuildManager/out/production/GuildManager/gmt/%5cview%5cMainView.fxml
  * javafx.fxml.LoadException: 
/C:/Users/MrSnake/Desktop/GuildManager/out/production/GuildManager/gmt/%5cview%5cMainView.fxml
    ----------------------------------------
```


----------

