Как создать файл JAR с зависимостями - PullRequest
2 голосов
/ 13 февраля 2012

Я сделал Swing-приложение, которое использует файлы изображений, расположенные в папке с именем 'res' в текущем каталоге.Для этого я делаю что-то вроде этого:

BufferedImage img=ImageIO.read(new File(new String(System.getProperty("user.dir")+"\\res\\back.png")));

Он прекрасно работает, когда я запускаю его из командной строки.Но когда я делаю из этого jar-файл, он не находит папку res, хотя папка res находится внутри jar.Однако, когда я копирую папку res в ту же директорию, что и jar, она снова работает.Я хочу один файл JAR без какой-либо зависимости от внешней папки.

1 Ответ

0 голосов
/ 13 февраля 2012

Загрузка из classpath может быть:

InputStream in = getClass().getResourceAsStream("/res/back.png");
BufferedImage img = ImageIO.read(in);
...