In *.jar Datei Pfad zu *.exe herausfinden

...komplette Frage anzeigen

2 Antworten

File myExe = new File("MyExecutable.exe"); // Das sucht am Ausführungsort der jar

if(!myExe.exists()) // wenn nicht existent, dann langen Pfad nehmen
    myExe = new File("C:\\Tools\\MyExecutable.exe");

System.out.println(myExe.getAbsolutePath()); // or whatever

Danke schonmal für die Antwort :)

Ist es auch möglich, dass man nur über relative Pfade auf die .exe Datei kommt? Nur die Ordnerstruktur \Tools\.exe stimmt so, es muss ja nicht immer unter C:\Programme oder so liegen (könnte ja eig. auch auf D:\ oder H:\ liegen - da wo es der Benutzer halt hininstalliert).

Hast du dafür auch gerade eine Lösung parat?

0
@BeatKilla

Ich habs gewusst.^^ Das ist mehr oer weniger hässlich, aber bitte:

String jarPath = MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();

;)

Dann haste den Pfad zur jar, die gerade läuft. Vom Pfad hinten noch die jar abschneiden, einen exe-Name dranhängen, und fertig bist du =]

0
@Wutklumpen

Ah, solltest du Spezialzeichen oder Leerzeichen etc in dem Pfad haben, dann mach aus getLocation() noch ein

getLocation().toURI()
0

Mühe muss belohnt werden :)

Was möchtest Du wissen?