System.getProperty("user.dir") zwraca różne wartości

0

Siema próbuje pobrać ścieżkę do folderu z którego uruchamiam .jar System.getProperty("user.dir") sprawuje się dobrze na Windowsie a na Linuxie wariuje. Jak inaczej zwrócić taka ścieżkę?

0

Co znacz wariuje? Windows i linux maja inne sciezki, ale to pewnie jasne?

0

Jak inne sciezki? Skoro uruchamiam program w Windowsie z np. pulpitu i poprawnie pokazuje mi sciezke a jak uruchamiam w ubuntu np. w katalogu domowym to juz nie poprawnie.

0

Co znaczy 'niepoprawnie'? Ty chyba nie czaisz ze te sciezki sa inne? Nie rozumiem.

0

Ty chyba nie czaisz polskiego. Chce zwrócić folder z którego uruchamiam plik jar (moja aplikacja napisana w javie), domyślam się ze System.getProperty("user.dir") zwraca różne wartości na Windowsie (poprawnie) i na Linuxie (nie zawsze zwraca poprawnie folder z którego uruchamiam jar), wiec albo wiesz jak poprawnie na obu system zwrócić ten folder, albo zamilcz.

0

Takim tonem do mozesz mowic do twojej laski, ale nie tutaj.

0

Z dokumentacji Javy: "user.dir User's current working directory", a więc nie oznacza to folderu, z którego została odpalona aplikacja tylko aktualny folder roboczy.

Opis jak pobrać ścieżkę do JARa:
http://www.velocityreviews.com/forums/t619563-how-to-get-current-jar-path.html

0

A żeś strzelił z tym user.dir Na logikę to przecież nie to. Rozumiem jakby tam było working.dir albo coś.

Ja to robię tak:

String path= tuKlaska.class.getProtectionDomain().getCodeSource().getLocation().getPath();
String decoded= URLDecoder.decode(path, "UTF-8");
File fileOuttemp = new File(decoded);
sciezkaDoJara= fileOuttemp.getParentFile();

0

String path= tuKlaska.class.getProtectionDomain().getCodeSource().getLocation().getPath();

Rozumiem ze tam gdzie "tuKlaska" wstawiasz nazwę klasy w której masz kod?

0

No najlepiej to dać klasę startową i w ogóle umieścić ten kod w metodzie/ klasie startowej.

0

Ano zgadzam się. Klasę daj tą gdzie masz metodę main. Ja czasami w ogóle dawałem to do bloku statycznego klasy, ale jest dowolność. Dasz jakąkolwiek klasę z Twojej app i będzie działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1