Runable Jar nicht ausführbar

Windhund

Mitglied
Hallo liebe Community

Derzeit mache ich ein Praktikum in einer IT-Abteilung. Ein Kollege arbeitet mit linux und es nervt ihn das er für dieverse Programme keine GUI hat, darum hat er mich gebeten eine kleine einfache GUI zu schreiben wo er mit arbeiten kann.
Alles kein Problem und auch schon fertig, nur würde ich das ganze jetzt gerne als Ausführbare Jar Datei aus Eclipse exportieren und genau da liegt das Problem, die Exportierte Datei lässt sich nicht ausführen.

Bin seid 3 Tagen bei google unterwegs und finde einfach keine lösung.
Versuche ich die Datei per Doppelklick auszuführen passiert nichts, in der Konsole bekomm ich wenigstens eine rückmeldung.
Hier mal die ausgabe:
pascal@durw7321:~> java RemoteGUI.jar
Exception in thread "main" java.lang.NoClassDefFoundError: RemoteGUI/jar
Caused by: java.lang.ClassNotFoundException: RemoteGUI.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: RemoteGUI.jar. Program will exit.

In Eclipse kann ich mein Programm problemlos starten, nur wenn ich versuche es mit den Eclipse mitteln (File/Export.../Java/Runnable JAR file) zu Exportieren und zu starten funktioniert es einfach nicht.

Ich währe sehr dankbar wenn ihr mir helfen könntet.
 
Hi

hast du mal probiert, "-jar" in der Konsole mit anzugeben?

In welcher Klasse(mit Pfad) im Jar ist Main? Was steht im manifest?
 
also schonmal danke für die schnelle Antwort

das "-jar" war ein guter hinweiß für die Konsole, damit leufts.
ändert aber leider nichts daran das ich es nicht per Klick aufrufen kann

die Main ist in der Klasse Controller im Package pack1

Manifest.mf
Manifest-Version: 1.0

Class-Path: .

Main-Class: pack1.Controller
 
Huhu,

Um eine .jar Datei unter Linux zu starten benutze ich ein simples Shellscript.

Code:
#!/bin/sh
 
exec java -jar RemoteGUI.jar

Dieses speichere ich einfach im selben Ordner wie die .jar unter irgendeinem namen wie: "runRemoteGUI.sh".

Danach mit chmod Executerechte setzen und doppelt drauf klicken.
Klappt zumindest bei mir wunderbar.

edit:
Gegebenenfalls musst du im Script zuerst das Directory wechseln und/oder absolute Pfade angeben.

Mit freundlichen Grüßen,
Martin C.
 
Zuletzt bearbeitet:
Hi,

denk am besten mal über genodeftest's Post nach, mir ist es mit NetBeans schon öfters passiert, dass nachdem ich die Main-Class umbenannt habe, oder die main-Metode wo anders reingepackt hab, irgendwo noch der falsche Name stand.

javaDeveloper2011
 
Guten morgen

also das mit dem Shellscript um die Datei zu startenb war auch schon eine Überlegung, nachdem das ja jetzt wenigstens in der Konsole Funktionierte. So wirklich sinn der sache kann das aber auch nicht sein das ich ein skript brauche um ein simples Java Programm zu starten.

Hab mir auch die Run Configuration mal angeschaut, aber die siht eigentlich richtig aus.

Achja und es geht um die Distrubution OpenSuSE 11.3
 
Also ich hab grade nochmal was rumprobiert

wenn ich einen rechtsklick auf die Datei machen hab ich die möglichkeit zu sagen "Mit andere anwendung öffnen..." und da wiederum kann ich unter "Benutzerdefinierten befehl benutzen" java -jar eingeben womit es dann auch funktioniert.

Weis zufällig einer wie ich das als Standart setzten kann, dass Java Dateien mit dem Benutzerdefinierten Befehl "java -jar" gestartet werden?
 
--- GELÖST ---
Nachdem ich jetzt noch ein bischen rumprobiert und gesucht habe, habe ich ne Lösung gefunden.

in den Eingeschaften der Datei ist auch ein Tab "öffnen mit", in dem konnte ich "java -jar" hinzufügen und sagen das er das damit öffnen soll.

Sihe da jetzt funktionierts so wie es soll

Vielen dank für eure hilfe
 
Zurück