# Setzen des java.library.path



## Eminent (28. Mrz 2006)

Hi,

sorry, dass ich mal wieder nerven muss, aber ich hab ein Problem beim Starten meiner Anwendung. Hab schon im Forum gesucht und da steht genau das was ich vor habe, nur irgendwie funktioniert das bei mir nicht so ganz.

Ich möchte beim Startaufruf den java.library.path setzen um sicherzustellen, dass die Anwendung eine erforderliche DLL findet. 

Also es sieht so aus: 

Das Verzeichnis der Startdatei (start.bat) kann leider unterschiedlich sein (deswegen auch setzen des library.path).
Bei uns z. B. liegt das zu startende Jar in folgendem Verzeichis: N:\anwendungXX\anwendung_root.jar.
Die Startdatei liegt in einem anderen Verzeichnis (P:\start\anwendungXX.bat)

Meiner Meinung nach müsste ich doch jetzt folgendes in der Startdatei schreiben:

java -jar n:\anwendungXX\anwendung_root.jar -Djava.library.path=n:\anwendungXX\

Aber irgendwie funktioniert das nicht so ganz. Ist meine Syntax bzw. die Reihenfolge hier falsch?

Danke schon mal für eure Hilfe.

Gruß
Eminent


----------



## bygones (28. Mrz 2006)

Eminent hat gesagt.:
			
		

> Ist meine Syntax bzw. die Reihenfolge hier falsch?


mhm - bzgl der Reihenfolge: einfach mal ausprobieren ?!

die Syntax an sich ist korrekt



			
				Eminent hat gesagt.:
			
		

> Aber irgendwie funktioniert das nicht so ganz


mit nicht so ganz kann man nicht so ganz helfen ? was wie und wo ???


----------



## Eminent (28. Mrz 2006)

deathbyaclown hat gesagt.:
			
		

> mhm - bzgl der Reihenfolge: einfach mal ausprobieren ?!
> 
> die Syntax an sich ist korrekt



Also Reihenfolge hab ich auch schon vertauscht. Bei mir geht trotzdem nicht.



			
				deathbyaclown hat gesagt.:
			
		

> mit nicht so ganz kann man nicht so ganz helfen ? was wie und wo ???



Naja es geht halt einfach nicht. Er startet die Anwendung schon aber er findet die Bilder und DLLs nicht, die im angegebenen Pfad liegen.

Wenn ich die Startdatei in gleichen Verzeichnis liegen habe wie die Anwendung funktioniert alles wunderbar (glaube weil das Startverzeichnis immer mit im path ist oder?). So bald die Startdatei aber wo anders liegt gehts nicht mehr. Hauptproblem ist, dass in der Anwendung eine DLL zur Steuerung von Excel vorhanden ist und wenn diese nicht gefunden wird schmiert die Anwendung ab.


----------



## Murray (28. Mrz 2006)

Ich bin mir nicht sichher, ob der letzte Backslash beim java.library.path stört; notwendig ist er sicherlich nicht.


----------



## Eminent (28. Mrz 2006)

Murray hat gesagt.:
			
		

> Ich bin mir nicht sichher, ob der letzte Backslash beim java.library.path stört; notwendig ist er sicherlich nicht.



Hab ich beides schon versucht, leider ohne Erfolg.


----------



## Eminent (29. Mrz 2006)

Ich habs!!!!   

Nachdem wir uns beim Start der Anwendung mal alle Pfade für Java ausgeben haben lassen, war dann ersichtlich, dass er den java.library.path richtig setzt. Aufruf sieht dann bei uns wie folgt aus:

java -Djava.library.path=Laufwerk:\Pfad -jar Laufwerk:\Pfad\start.jar

Weiß jetzt nicht ob die Reihenfolge so richtig ist aber es funktioniert so auf jeden Fall (zumindest das setzen des Pfades). 

Unser Problem lag darin, dass die Anwendung beim Start noch mind. einen Parameter erwartet, den ich vergessen hab. Das führt erstmal zu keiner Fehlermeldung, führt aber in der Anwendung dazu, dass verschiedene Resourcen nicht gefunden werden.


----------



## SammY (30. Mrz 2006)

Hi leute ich schaff es immer noch nicht den Pfad richtig einzustellen.
Bekomm  immer folgende Fehlermeldung:

```
Exception in thread "main" java.lang.UnsatisfiedLinkError: no c_out in java.library.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at test.<clinit>(test.java:10)
```

Mein Aufruf:

java -Djava.library.path=C:\java\test test


----------



## Eminent (5. Apr 2006)

SammY hat gesagt.:
			
		

> Hi leute ich schaff es immer noch nicht den Pfad richtig einzustellen.
> Bekomm  immer folgende Fehlermeldung:
> 
> ```
> ...



Verstehe ich das richtig und du willst hier die Klasse test.java im Verzeichnis C:\java\test\ starten?


----------

