Problem mit *.jar Archiv

Status
Nicht offen für weitere Antworten.

joschika77

Bekanntes Mitglied
Ich habe ein Problem mit meinem jar Archiv.
Ich habe da Ordner drin(Sound,Bilder,org).
Wenn ich die Datei vom Desktop starte läuft das Prog nicht an.
Dazu brauche ich den org Ordner auch auf dem Desktop.Dann gehts.
Ist komisch weil die anderen Ordner brauch er ja auch nicht.
Im org Ordner befinden sich SystemTray Klassen.
Hat jemand damit schon mal Erfahrung gemacht?

MfG Ronn
 

Javahnsinn

Aktives Mitglied
Hallo,
das sieht wie nach einem falsch gesezten Classpath aus. Also, der org-ordner ist mit 99,99% Wahrscheinlichkeit ein von der Main-Klasse importiertes Package - wenn der noch Unterordner hat, zähl nochmal 0.01% dazu. :wink:
Wenn du das jar so startest:
Code:
javaw -jar jarfile Klassenname
oder so:
Code:
javaw -jar jarfile
wird dabei kein ClassPath gesetzt. Im zweiten Codebeispiel wird die Main-Class anhand des im jar gespeicherten Manifests ermittelt. Die Windows-Dateiverknüpfung - ich denk mir mal, mit dem Desktop meinst du jetzt nicht unbedingt den von GNOME unter Linux - macht in etwa sowas mit jar-files:
Code:
javaw -jar %1
Dabei steht %1 für das Objekt, auf das im Explorer oder auf dem Desktop gedoppelklickt wird.
Was immer geht ist ein explizites setzen des CLASSPATH in das Jar hinein, etwa so (Dosboxmäßig):
Code:
javaw -cp .;jarfile Klassenname
nur das geht dann eben schlecht als Dateiverknüpfung.
Du kannst diese Dateiverknüpfung aber auch tunen. Das geht mit den Ordneroptionen, Reiter Dateitypen. Bearbeite den Vorgang open so, dass in etwa folgendes drinsteht (Anwendung für den Vorgang):
Code:
javaw -cp ".;%1;%CLASSPATH%" "%1"
dann ist das jar auch im Klassen-Suchpfad und das org.bladibla-Paket sollte auch gefunden werden können. Sprich: ich hab's noch nicht probiert, mir ist der Start über die Kommandozeile da lieber - soll ja auch Proggies geben die im catch-Block für irgendwelche Exceptions ein System.err.println("Oops"); haben, davon sieht man bei Verwendung von javaw eben nix.

Hope that helps.

Viel Spaß beim Coden,
Jürgen
 

joschika77

Bekanntes Mitglied
Danke für die Antwort.Ich kann damit leider nicht viel anfangen.
Er findet das org package nicht. Aber warum? Was muß ich beim Erstellen ändern?
In der Startklasse habe ich das eingefügt:
Code:
    import org.amdesign.beans.systrayicon.SysTrayIcon; 
    import org.amdesign.beans.systrayicon.SysTrayIconException;

Ich erstelle ein Test.jar Datei so:

Ich erstelle eine "manifest.txt =>Inhalt: Main-Class: Meine Startklasse" Datei im Order wo die Klassen liegen.
Dann Ausführen und cmd aufrufen und in den Ordner gehen wo die Klassen liegen.
Dann gebe ich "jar -cmf manifest.txt Test.jar *.*" ein.

Und das *.* steht doch für alles was im Ordner ist.Die anderen Ordner gehen ja auch.

MfG Ronn
 

Javahnsinn

Aktives Mitglied
???:L Ahömm,

Dann Ausführen und cmd aufrufen und in den Ordner gehen wo die Klassen liegen.
Dann gebe ich "jar -cmf manifest.txt Test.jar *.*" ein.
Und das *.* steht doch für alles was im Ordner ist.Die anderen Ordner gehen ja auch.

Wenn du zuerst in den org-Ordner wechselst, werden die darin enthaltenen Klassen und die Ordner als Verzeichnis-Root im Jar eingefügt. Im Klartext: die ganze Paketstruktur ist futsch. Im Jar ist kein Verzeichnis .\org\amdesign\beans\systrayicon, sondern die zum Paket gehörenden Klassen liegen im root-Verzeichnis des Archivs.
Die JVM erwartet aber eine Klasse aus einem Paket org.amdesign.beans.systrayicon in einem Verzeichnis org\amdesign\beans\systrayicon, das im CLASSPATH (in diesem Fall: im JAR) liegt.
Probiers mal so:
Nicht in das Verzeichnis wechseln, stattdessen (aus dem Verzeichnis, welches org enthält):
Code:
jar -cmf manifest.txt Test.jar *.class org bilder undwassonstnoch
Nach dem *.class kommen die ganzen Ordner. Damit ist org\amdesign mit allen Unterordnern ins JAR aufgenommen, inclusive der Verzeichnisstruktur. Jetzt kann die JVM die Importe der org-Pakete wieder in eine entsprechende Verzeichnisstruktur auflösen, mit dem JAR als root-Verzeichnis.

Hope that helps
Gruß, Jürgen
 

joschika77

Bekanntes Mitglied
Hallo.

Danke Dir für die Antwort.
Leider funktioniert es denn auch nicht.
Die anderen Pfade hat er ja auch, wie Bilder oder Sound Ordner.
Es geht nur bei dem org Ordner nicht.
Woran kann das nur liegen?

MfG Ronn
 

Javahnsinn

Aktives Mitglied
Schlechte Karten :cry:

Hab mal in des SysTray-Code reingelinst. Der hat einen statischen (Klassen)-Konstruktor:

Code:
static 
    {
        try
        {
            System.loadLibrary("org/amdesign/beans/systrayicon/resources/SysTrayIcon");
        }
        catch(UnsatisfiedLinkError unsatisfiedlinkerror)
        {
            System.out.println("Could not find the SysTrayIcon.dll. Program exit!");
            System.exit(0);
        }
    }

Und zu System.loadLibrary meint die API:

public static void loadLibrary(String libname)

Loads the system library specified by the libname argument. The manner in which a library name is mapped to the actual system library is system dependent.
...
Throws:
...
UnsatisfiedLinkError - if the library does not exist.

Soll heissen: Die VM kriegt das rausschälen aus dem JAR zwar gebacken, nicht aber Windoof. Das schert sich nicht um ClassPathes...

Kam mir gleich komisch vor, dass SysTrayIcon als ZIP vertrieben wird, nicht als JAR - und dass beim Auspacken die Verzeichnisstruktur erstellt wird, aber kein JAR dabei ist. Das Teil läuft halt entschiedenermassen nur unter Windows, das hat wenigstens ein System Tray (schon bei Linux' KDE sieht das ganz anders aus).

Ich denke, man könnt's mit Rumpuhlen in der Source sogar hinkriegen. Dazu bräucht man aber grünes Licht vom Autor, der sich leider auch auf seiner Seite zu Lizenzbedingungen nicht weiter äußert. Eventuell hilft auch eine Mail direkt an info@amdesign.org

Hope that helps,
Jürgen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
trash Das große Problem: .jar Archiv Allgemeine Java-Themen 19
T Klassen samt Methoden aus Jar-Archiv laden macht Problem Allgemeine Java-Themen 9
J Problem mit .jar Archiv und Bilder Allgemeine Java-Themen 6
krgewb Problem mit Umlauten und Eszett bei InputStream Allgemeine Java-Themen 3
Max246Sch Backtracking Problem Box Filler Allgemeine Java-Themen 6
NightVision402 VisualVM Startskript Problem Allgemeine Java-Themen 3
javaBoon86 Email Server Connection Problem Allgemeine Java-Themen 1
F Problem mit PDFBOX Library Allgemeine Java-Themen 1
A Java modul Problem Allgemeine Java-Themen 4
D Read JSON File Problem Allgemeine Java-Themen 9
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
J Problem mit JasperReports Allgemeine Java-Themen 8
M log4j Problem mit jlink Allgemeine Java-Themen 19
8u3631984 Problem beim Mocken von Record Klassen Allgemeine Java-Themen 4
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
P Selenium . getText Problem Allgemeine Java-Themen 9
A Jar zu Exe Problem Allgemeine Java-Themen 13
sserio Variablen Liste erstellt und ein Problem mit dem Index Allgemeine Java-Themen 6
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
A Thread.sleep Problem Allgemeine Java-Themen 2
A Problem bei der Nachbarschafttest Allgemeine Java-Themen 11
Splayfer Problem: no main manifest attribute Allgemeine Java-Themen 3
G javamail Problem beim Empfangen von Nachrichten Allgemeine Java-Themen 3
Splayfer JDA Problem mit MessageCounter Allgemeine Java-Themen 0
Splayfer Problem mit BufferedWriter Allgemeine Java-Themen 3
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
N Maven Problem mit Datenbanktreiber (H2 Embedded) Allgemeine Java-Themen 12
T Problem beim Umwandeln in eine Jar-Datei Allgemeine Java-Themen 3
B Einfach Elemente zweier Arraylisten kreuz und quer vergleichen, min und max Problem? Allgemeine Java-Themen 16
C ArrayList Problem Allgemeine Java-Themen 3
kev34 nim-Spiel problem Allgemeine Java-Themen 1
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
G Welches Problem besteht bei den Typparametern? Allgemeine Java-Themen 5
temi Problem mit Aufrufreihenfolge bei Vererbung Allgemeine Java-Themen 3
Sumo_ow "ArrayIndexOutofBoundsException: 2" Array Problem Allgemeine Java-Themen 6
T PIM basierend auf netbeans via AnyDesk Problem Allgemeine Java-Themen 3
xGh0st2014 Problem mit Java Array Allgemeine Java-Themen 1
Kirby.exe Verständnis Problem bei Rucksack Problem Allgemeine Java-Themen 6
B Eclipse-Lombok-Problem Allgemeine Java-Themen 19
I Input/Output ObjectOutputStream - Problem Allgemeine Java-Themen 7
1 Multiple Choice Knapsack- Problem Allgemeine Java-Themen 2
kodela Problem mit strukturiertem Array Allgemeine Java-Themen 18
E Problem mit Gridlayout und Button Allgemeine Java-Themen 2
A Array Problem Allgemeine Java-Themen 8
bueseb84 Problem Allgemeine Java-Themen 0
S Problem mit Arrays Allgemeine Java-Themen 1
D Nullpointer Exception Problem Allgemeine Java-Themen 5
B Problem mit meinen Klassen Allgemeine Java-Themen 6
A HashMap Methode "get()"-Problem Allgemeine Java-Themen 28
J Problem beim Umstellen auf Java jdk 13 Allgemeine Java-Themen 3
J Problem bei Install java 13 Allgemeine Java-Themen 3
X Profitable Reise Problem Allgemeine Java-Themen 32
A Problem beim öffnen von Java-Installern Allgemeine Java-Themen 1
Dann07 Problem mit JavaMail API Allgemeine Java-Themen 26
J Problem beim Generischen Klassen und Interfaces Allgemeine Java-Themen 2
L Klassen Algorithmus für das folgende Problem entwickeln? Allgemeine Java-Themen 30
J Clear-Problem Allgemeine Java-Themen 10
B Problem zu einem Java Projekt Allgemeine Java-Themen 6
S JFileChooser Problem Allgemeine Java-Themen 4
M Traveling Salesman - MST Heuristik Problem Allgemeine Java-Themen 4
J Traveling Salesman Problem Allgemeine Java-Themen 14
E Java Editor Problem mit 2er Exceptions Allgemeine Java-Themen 12
C code oder Bibliotheken für 2-Center Problem Allgemeine Java-Themen 4
M Salesman Problem - Bruteforce Algorithmus Allgemeine Java-Themen 23
S Methoden Problem mit NullPointerException Allgemeine Java-Themen 9
Javafan02 Problem mit if-clause Allgemeine Java-Themen 17
J Lombok Problem mit Konstruktoren bei Verberbung Allgemeine Java-Themen 1
kodela Event Handling Problem mit der Alt-Taste Allgemeine Java-Themen 16
W Threads Problem Allgemeine Java-Themen 15
D (Verständnis-)Problem mit Unterklasse Allgemeine Java-Themen 4
S Problem mit Generic bei unmodifiableCollection Allgemeine Java-Themen 4
S jserialcomm Problem Allgemeine Java-Themen 1
Flynn Thread-Problem... Allgemeine Java-Themen 2
J Generische Interface - Problem Allgemeine Java-Themen 3
G Problem beim GUI Allgemeine Java-Themen 9
L Applet Problem "security: Trusted libraries list file not found" ? Allgemeine Java-Themen 7
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
T Problem mit externen Datenbankzugriff über SSH Tunnel Allgemeine Java-Themen 4
F Problem beim Einlesen einer Textdatei Allgemeine Java-Themen 12
S Java OpenOffice Problem mit Windows-Benutzerwechsel Allgemeine Java-Themen 19
K Threads RAM Problem Allgemeine Java-Themen 20
P Operatoren Problem mit Zähler in recursiver Schleife Allgemeine Java-Themen 2
C Int Problem Allgemeine Java-Themen 8
C J2V8 NodeJs Java Bride Problem und Frage!?!? Allgemeine Java-Themen 1
J Problem bei Hashmap Key-Abfrage Allgemeine Java-Themen 4
C Webseiten Programm problem Allgemeine Java-Themen 5
M LocalDate Problem Allgemeine Java-Themen 4
J "Problem Objektorientierung" Allgemeine Java-Themen 20
geekex Problem Meldung! Was tun?! Allgemeine Java-Themen 19
T Klassen Override Problem Allgemeine Java-Themen 7
L Unbekanntes Problem Allgemeine Java-Themen 1
FrittenFritze Problem mit einer JComboBox, Event temporär deaktivieren Allgemeine Java-Themen 11
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
F HTTPS Zertifikat Problem Allgemeine Java-Themen 3
M OpenCV KNearest Problem Allgemeine Java-Themen 0
Tommy Nightmare Project Euler: Problem 22 Allgemeine Java-Themen 2
C Abstrakte Klasse, lokale Variable-Problem Allgemeine Java-Themen 1
N Vererbung Design-Problem mit vorhandenen, von der Klasse unabhängigen Methoden Allgemeine Java-Themen 12
P Eclipse Projekt anlegen macht Problem Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben