# Programm starten unter Linux



## Waldi (10. Jun 2007)

Hallo Hallo

ich mach folgendes

```
java -jar /pfad/zur/Datei.jar
```
Das Programm startet tadellos. Wenn ich jetzt aber auf externe Resourcen zugreife kann er diese nicht finden.

Gebe ich stattdessen aber folgendes ein funktioniert alles 1a

```
cd /pfad/zur
java -jar Datei.jar
```
Im Programmcode ruf ich die externe Rescource so auf.

```
jrReport = JasperCompileManager.compileReport("Reports/StatistikAlles.jrxml");
```
die Jar Datei befindet sich in der Workspace. In der Workspace befindet sich auch der Ordner Reports. Der Ordner Reports befindet sich ebenfalls in der JAR Datei. 

Ich versteh das alles nicht so ganz. Kann mir da einer weiterhelfen?


----------



## HoaX (10. Jun 2007)

werden die dateien nun aus der jar oder aus dem ordner gelesen?

wenn sie aus dem jar als resource geladen ewrden wundert es mich dass es nihct geht.

wenn die dateien aus dem ordner geladen sind ist es nur logisch dass es nicht geht, wenn unter im aktuellen verzeichnis keine entsprechenden dateien.


----------



## Waldi (10. Jun 2007)

Sorry deine Antwort versteh ich nicht ganz da sie ein bisschen "unverständlich" geschrieben ist ;-) <- Nicht böse sein. Es ist ja egal wo sie geladen werden. Ursprünglich ist eigentlich gedacht das sie aus dem Ordner geladen werden. Der Ordner ist vorhanden und die gesuchten Dateien darin auch. Aber wie schon gesagt es funktioniert ja nur wie ganz oben beschrieben nicht.


----------



## Wildcard (10. Jun 2007)

Nein, es ist nicht egal.
Resourcen aus einem jar müssen über den Classloader geladen werden.
Die Dinger heißen übrigens Verzeichnisse und nicht Ordner.
Ordner gibt's nur in Windows.


----------



## Waldi (10. Jun 2007)

Sorry. Verzeichnisse ;-) Aber das eigentliche Problem besteht immer noch. Ich mein es ist schon komisch das es mal funktioniert und mal nicht obwohl ich im Prinzip das gleiche mache oder?


----------



## Wildcard (10. Jun 2007)

Möchtest du die Resourcen jetzt aus dem jar, oder aus dem Dateisystem laden?


----------



## Waldi (10. Jun 2007)

> Ursprünglich ist eigentlich gedacht das sie aus dem Ordner(Sorry Verzeichnis ;-)) geladen werden



So solls sein.


----------



## Wildcard (10. Jun 2007)

Dann muss dir auch klar sein, dass ein relativer Pfad immer in Abhängigkeit des aktuellen Verzeichnisses betrachtet werden muss.


----------



## abollm (10. Jun 2007)

Warum schreibst du nicht einfach ein kleines (Bash-)Skript und Ruhe ist?


----------



## Waldi (10. Jun 2007)

Es ist doch ok wenn das Reports Verzeichnis bei der Jar liegt. Im Real Live wird eine Installation die Jar und das Verzeichnis im Dateisystem ablegen. 

@abollm: Das ist doch keine Lösung. Höchstens ein Workaround.


----------



## abollm (10. Jun 2007)

Waldi hat gesagt.:
			
		

> Es ist doch ok wenn das Reports Verzeichnis bei der Jar liegt. Im Real Live wird eine Installation die Jar und das Verzeichnis im Dateisystem ablegen.
> 
> @abollm: Das ist doch keine Lösung. Höchstens ein Workaround.



Ja, aber manchmal sind Workarounds auch brauchbare Lösungen.


----------

