Uzyskaj lokalizację pliku JAR

Próbuję uzyskać lokalizację, z której uruchamiany jest plik JAR Runnable. Próbowałem to zrobić

try {
    String path = new java.io.File(".").getCanonicalPath();
} catch (IOException e) {
    e.printStackTrace();
}

Ale to wraca:

C:\Users\Kevin\Desktop/server/Server

podczas gdy plik JAR znajduje się w

C:\Users\Kevin\Desktop

Próbowałem też

return new file(Server.class.getProtectionDomain().getCodeSource().getLocation().getPath());

Ale to wraca:

C:\Users\Kevin\Desktop\server.jar/server/Server

Tak więc zasadniczo chcę ścieżkę pliku JAR bez nazwy pliku, a nie ścieżki klasy.

Jakikolwiek sposób to zrobić?

questionAnswers(4)

yourAnswerToTheQuestion