# jar Datei mit Packages



## joschika77 (3. Mai 2005)

Hallo!

Also zuerst: Gesucht & Gefunden habe ich schon was unter FAQ's.
Aber leider funzt es nicht so wie ich das will. Ich arbeite mit jarkive und habe damit schon einiges erstellt.
Nun arbeite ich zum ersten mal mit packages(vorher default) und es geht nicht.
Meine manifest.txt sieht so aus: "Main-class: jframe.MeinFrame" und ENTER-Taste.
Ist das so richtig?

Ich habe mal ein paar andere *.jar's von mir ausprobiert die eigentlich funkionieren sollten.Hab aber gerade mein System neu gemacht und nun kann er auch hier die Main-Class nicht finden.Liegt es vielleicht daran?

MfG


----------



## thE_29 (4. Mai 2005)

Das er auf einenm neu aufgesetzten System keine jar Dateien mehr starten kann ist sehr komisch!

Hast du irgendwo nen Webspace wo du die raufladen kannst, zum Testen oder die genaue Fehlermeldung?


----------



## Sky (4. Mai 2005)

joschika hat gesagt.:
			
		

> Hab aber gerade mein System neu gemacht und nun kann er auch hier die Main-Class nicht finden.



1. Ist ein JRE installiert?

2. Wie sieht dein Classpath aus??


----------



## joschika77 (4. Mai 2005)

Das ist sehr seltsam. Weil eclipse startet er ja auch.
Und wenn du Start->Ausführen->cmd Enter & dann jar Enter eingibst kennt er den Befehl auch.
Verstehen würde ich es wenn er den Befehl nicht kennen würde.
Ich habe jdk1.5.0 & jre 1.5.0 installiert.Was meinst du mit classpath?

MfG


----------



## thE_29 (4. Mai 2005)

Sag uns bitte die verfluchte Fehlermeldung!!


----------



## joschika77 (4. Mai 2005)

Could not find the Main-Class.Programm will exit!


----------



## Sky (4. Mai 2005)

joschika hat gesagt.:
			
		

> Could not find the Main-Class.Programm will exit!


Und deine Main-Class ist im Package "jframe" und heißt "MeinFrame" und darin gibt es eine main-Methode??


----------



## thE_29 (4. Mai 2005)

Und was sagt er dir bei den anderen Jar Files?? (die vorher funktioniert haben)

Auch das??


----------



## joschika77 (4. Mai 2005)

Ja das gleiche.Ich habs mal auf der Console ausgeführt.
Hab ein Bild von der Console gemacht.






Mfg

Edit Illuvatar: Hab die URL zu dem Bild geändert. Da war FTP-Login-path drin :roll: Net so schlau, wenn man das in nem öffentlichen Forum freigibt


----------



## Roar (4. Mai 2005)

java neu installieren (edit: java 5!)
evtl mal nen registry cleaner drüberlaufe nlassen


----------



## joschika77 (5. Mai 2005)

Hab jetzt neu installiert. Die alten jars funzen jetzt wieder aber das neue was ich ja nun mit packages probiere sagt gar nichts.Nur wenn ichs von der Konsole aufrufe gibts nen NullPointer.
Warum findet er so einges nicht?Ich habe alles in einzelne Packages gepackt.Der Ordner in dem die Startklasse ist heißt jframe & die Klasse MeinFrame.
Nun muss die manifest doch so aussehen: Main-class: jframe.MeinFrame & dann Enter
Oder sehe ich da was verkehrt?

MfG


----------



## Roar (5. Mai 2005)

wenns nur ne nullpointerexception gibts ists doch wunderbar
deine jar wird geöffnet, deine main klasse wird geladen und instantiiert. du hast nur nen programmfehler


----------



## joschika77 (5. Mai 2005)

Aber in eclipse läuft alles. ???:L 
Ich habe ne Audio Klasse eingebunden.Die findet er nicht.Kommentiere ich das aus findet er was anderes nicht(Bilder usw.). Woran kann das liegen?

MfG


----------



## Illuvatar (5. Mai 2005)

In einem Jar muss man Dateien in dem Jar über ClassLoader#getResource laden.


----------



## joschika77 (5. Mai 2005)

Also funktioniert das hier in der jar nicht?

```
URL url = getClass().getResource("../Musik/*.mid");
```

MfG


----------



## Illuvatar (5. Mai 2005)

Öh doch schon... aber wieso ".." ? Liegt das jar in nem Unterordner? Etwas ungewöhnlich


----------



## joschika77 (5. Mai 2005)

Ich versuche eine jar zu erstellen(mit jarkive) ohne andere jars einzubinden.Nur Klassen,Bilder,Musik in verschiedenen Unterordnern.Wenn man die startet findet er einiges nicht.Deswegen wohl NullPointer.
Ich weiß nicht woran das liegen könnte.Vorher habe ich das immer im default gelassen & hat funktioniert.

Also an der manifest.txt liegt es nicht???

MfG


----------



## Roar (5. Mai 2005)

joschika hat gesagt.:
			
		

> Also funktioniert das hier in der jar nicht?
> 
> ```
> URL url = getClass().getResource("../Musik/*.mid");
> ...


es funktioniert *nur* so
die datei ist wohl nicht in der jar mit drin


----------



## joschika77 (5. Mai 2005)

Doch eigentlich ist die dort drin. Unter Musik/*.mid.Aber ob er es findet weiß ich nicht.Ich weiß nur das es ein nullpointer gibt.Was kann ich machen? :cry: 

MfG


----------



## Roar (5. Mai 2005)

moment mal
sind die audio und bilddateien mit in der jar?
und liegen diese dateien auch in dem genannten pfad relativ zu der klasse in der die anweisung drin steht?


----------



## joschika77 (5. Mai 2005)

Ja wieso ist das Mist?
Hab ich immer so gemacht.

MfG


----------



## Roar (5. Mai 2005)

joschika hat gesagt.:
			
		

> Ja wieso ist das Mist?
> Hab ich immer so gemacht.
> 
> MfG


wenn das so wäre würde es auch funktinoieren


----------



## joschika77 (5. Mai 2005)

Na irgend etwas kann ja nicht stimmen.Keiner ne Ahnung?

MfG


----------



## Roar (5. Mai 2005)

gib mal deine ordnerstruktur in der jar und mach merkmal auf die klasse wo die resourcen geladen werden


----------



## joschika77 (5. Mai 2005)

Ich weiss jetzt nicht wie du das meinst aber ich versuche es mal darzustellen.

Ich habe verschiedene Ordner: Bilder,dialoge,drucken,jframe(hier ist die startklasse drin),jpanels,models,Musik,org & renderer.Reicht dir das so?


----------



## Illuvatar (5. Mai 2005)

Dann nimm "Musik/*.mid", das muss relativ zum jar-File sein.

Das Musikfile heißt *.mid, ja?


----------



## Roar (5. Mai 2005)

Illuvatar hat gesagt.:
			
		

> Dann nimm "Musik/*.mid", das muss relativ zum jar-File sein.
> 
> Das Musikfile heißt *.mid, ja?



ne die dateien sind ja in der jar drin


----------



## Illuvatar (5. Mai 2005)

Eben, deshalb das .. weglassen


----------



## joschika77 (6. Mai 2005)

Ich habe jetzt erstmal alles was mit Bildern und Musik zu tun hatte ausgeklammert, eine jar erstellt & es ging.
Da wo eine Pfadangabe ist kann er nichts finden.

Also ihr meint jetzt an Stelle von:

```
private Image icon_e = getToolkit().getImage(getClass().getResource("../Bilder/erde_e.gif"));
```

lieber so


```
private Image icon_e = getToolkit().getImage(getClass().getResource("Bilder/erde_e.gif"));
```

Oder wie?
Beim zweiten Beisp. wirft er schon Fehler beim compelieren aus.Beim ersten nicht.

MfG


----------



## joschika77 (6. Mai 2005)

Ich glaube es nicht.Problem behoben. :applaus:


```
private Image icon_e = getToolkit().getImage(getClass().getResource("/Bilder/test.gif"));
```

So muss es aussehen.Einfach mit / & nicht mit ../ anfangen.Egal ob Image oder Musikdatei.
Danke trotzdem für eure Mühen.Wo kann man hier son Hacken machen?

MfG


----------



## Roar (6. Mai 2005)

auf das icon mit dem haken drauf klicken undn links


----------

