Pfad zu einer Datei in einer exportierten Jar-Datei

matze999

Mitglied
Hallo,
ich benötige den absoluten Pfad zu einer Datei, die sich in meinem Projekt befindet.
Mit dem folgenden Codeteil funktioniert dies jedoch nur, wenn ich mein Projekt über Eclipse ausführe.
Code:
try {
	URL resource = getClass().getResource("/driver/chromedriver.exe");
	URI uri = resource.toURI();
	String pfad = uri.getPath();
	System.setProperty("webdriver.chrome.driver", pfad);
} catch (URISyntaxException e2) {
   // TODO Auto-generated catch block
   e2.printStackTrace();}
Exportiere ich mein Projekt als ausführbare Jar-Datei, ist uri.getPath() immer null.
Hat einer hierfür eine Lösung? Wichtig ist, dass ich den Pfad benötige. Folgendes bringt mir daher leider nichts:
Code:
ClassLoader cl = getClass().getClassLoader();
InputStream resourceAsStream = cl.getResourceAsStream("/driver/chromedriver.exe/" );

Vielen Dank für eure Antworten
 
Wozu brauchst du den denn? Geht das auch anders? Die Pfade basieren auf zwei Dateisystemen. Ob man die mischen kann weiß ich nicht aber ich glaube es nicht.
 
Hi,
ich muss diese Property in Zeile 5 setzen. Da wird dem Programm mitgeteilt, an welcher Stelle sich die ausführbare .exe befindet. Leider kann man dieser Property nur einen String übergeben.
 
Nochmal langsam.
Die Dateisysteme kann man nicht mischen. Unter Windows 7 gibt es vielleicht Tricks dazu.
Dateien innerhalb eines JARs kann man zur Laufzeit nicht ändern.
Kannst du die Property nicht einlesen und der exe als Kommandozeilenparameter o.Ä. übergeben?
 
Vielen Dank erstmal für deine Antworten 🙂
Ich will ja gar keine Datei zur Laufzeit ändern, sondern ich benötige lediglich den Pfad zu der Datei "chromedriver.exe". Diese Datei befindet sich allerdings in dem ausführbaren JAR.
 
Dann musst du die zuerst entpacken und dann erst den Pfad übergeben. Entpacken kannst du die Datei ins Temp Verzeichnis. Dazu ist es da.
 

Zurück
Oben