Я знаю, что этот вопрос задан очень много, но ни один из предыдущих ответов не работает для меня.Как получить доступ к абсолютному пути к файлу исполняемого Jar?
Если я делаю свое приложение исполняемым Jar, есть ли способ сообщить, где находится Jar в файловой системе, когда он выполняется? Мое приложение должно знать, поэтому он может извлечь папку из ее jar (обработав ее как zip-файл) в указанный каталог.
EDIT: Спасибо всем, кто внес свой вклад, но я думаю, что это тупик. Мне придется попробовать что-то еще. Извините за то, что тратишь время всех. Я буду перепроверять по этому вопросу, так что если кто-нибудь делает взломать его, пожалуйста, ответьте: D
Для чего это стоит, вот мой тестовый код:
package jarProblem;
import java.io.File;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class Main {
public Main() {
ClassLoader loader = Main.class.getClassLoader();
String path = loader.getResource("jarProblem/Main.class").getPath();
File file = new File(path);
String pathToJar = file.getParentFile().getAbsolutePath();
JOptionPane.showMessageDialog(new JFrame(), new JLabel(pathToJar),"CurrentFolder", JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
public static void main (String[] args) {
new Main();
}
}
Возможный дубликат. http://stackoverflow.com/questions/3153337/how-do-i-get-my-current-working-directory-in-java – christopher
В принятом ответе на этот вопрос отображается «rsrc: ./», когда я добавляю его в мой тестовый код – CptSpike
Я просто использовал его, и он отлично работает для меня. В какой папке находится ваш JAR-файл? – christopher