Проблема с поиском файла в jar-файле - PullRequest
0 голосов
/ 29 августа 2011

Я новичок в Apache Ant и создал приложение Java, которое содержит среди многих файлов файл sys.properties. Расположение этого файла находится в корне, и для его нахождения в коде используется строка «sys.properties» в коде. Работает отлично.

Теперь я создал с помощью Apache Ant файл сборки, который создает файл jar из приложения. В коде я использовал

<filelist dir="${basedir}" files="sys.properties"/>

, который действительно помещает новый файл в корень файла JAR при создании этого файла JAR.

Когда я запускаю из командной строки:

java -classpath C:\tmp\APP;doddle.jar; doddle.home.start

приложение jar, похоже, ищет sys.properties, но не может его найти (класс doddle.home.start вызывает sys.properties).

Есть идеи, где может быть проблема? Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 29 августа 2011

Проблема в том, что sys.properties больше не файл, это запись в банке.

Вы можете получить к нему доступ как InputStream с помощью SomeClass.class.getResourceAsStream("/sys.properties") (см. руководство по вводу / выводу о том, как обрабатывать потоки)

1 голос
/ 29 августа 2011

Вы должны предоставить больше информации о том, как вы пытаетесь сослаться на файл.Какой путь вы используете?Если вы пытаетесь открыть «sys.properties», вы можете попробовать сослаться на «/sys.properties», который должен открыть файл из корня файла jar.

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