фрагмент кода Java для чтения файла до и после упаковки в jar - PullRequest
0 голосов
/ 25 ноября 2010

Я знаю, что на это, должно быть, ответили миллион раз, но я не могу найти это нигде.Итак, здесь: в моем тесте junit у меня есть это для доступа к файлу foo.txt:

this.getClass().getResourceAsStream("/foo.txt")

, это прекрасно работает, пока я не упакую его в файл jar.как мне отредактировать мой код, чтобы он работал в обоих случаях?

спасибо большое

Ответы [ 2 ]

2 голосов
/ 25 ноября 2010

Убедитесь, что ваш foo.txt упакован в корень вашего jar-файла. Я думаю, что этот файл, вероятно, присутствует в файловой системе, поэтому, когда вы запускаете код из IDE, он работает, но по какой-то причине его нет в jar.

Возможная причина в том, что вы создаете jar с использованием скрипта ant и настроили шаблон включения как * .class.

0 голосов
/ 25 ноября 2010

Убедитесь, что текстовый файл упакован в банку:

test.jar =>
    -> META-INF/MANIFEST.MF
    -> com/somepackage/ClassThatLoadsFooTxt.class
    -> foo.txt

Если файл класса и foo.txt содержится в папке src следующим образом:

   -> src/com/somepackage/ClassThatLoadsFooTxt.class
   -> src/foo.txt

убедитесь, что запись Class-Path в вашем файле MANIFEST.MF указывает на src:

Class-Path: src/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...