Создать Runnable JAR с файлами .properties, используя Java Eclipse - PullRequest
1 голос
/ 02 октября 2009

Я пытаюсь создать работоспособный JAR-файл, используя функцию экспорта Eclipse. все работает отлично, за исключением нескольких файлов .properties, которые у меня есть в корневом каталоге.

Я добавил все файлы .properties в Build Path, и они отображаются на вкладке «Порядок и экспорт» в диалоге Java Build Path.

Однако, когда я пытаюсь запустить Экспорт, я получаю следующие ошибки:

Не удалось прочитать файл JAR 'log4j.properties'. Причина: ошибка при открытии zip-файла ошибка при открытии zip файла ошибка при открытии zip файла

Файл JAR Runnable фактически создан, но в нем нет файлов .properties. почему он пытается экспортировать файлы .properties в виде файлов ZIP? как заставить это работать?

Идентификатор сборки Eclipse: 20090621-0832

Ответы [ 4 ]

4 голосов
/ 02 октября 2009

Это основано на памяти, но я вполне уверен, что файлы свойств не загружаются автоматически из банки. Идея заключается в том, что файлы свойств должны быть легко модифицируемыми. В противном случае значения могут быть просто в файле класса.

Если вы пытались получить доступ к файлу свойств из любого другого места, это не должно быть проблемой.

Именно поэтому вы редко видите файлы jar, упакованные отдельно. Обычно есть что-то еще, что нужно загрузить.

Есть ли причина, по которой такое поведение необходимо?

1 голос
/ 02 октября 2009

Вот что я делаю и работает надежно:

  1. поместите файл .properties в дерево исходного кода в вашем проекте Eclipse
  2. убедитесь, что все файлы .properties в дереве исходного кода скопированы в дерево сборки. Я использую муравей с задачей <copy>, объявленной перед задачей <jar> в той же цели.
  3. мои классы получают доступ к файлам свойств с помощью getResourceAsStream ()

Я не уверен, что делает утилита Eclipse Export, но вы можете попытаться взглянуть на ant, поскольку это может дать вам больше контроля над процессом сборки.

0 голосов
/ 19 января 2015

Вместо использования мастера экспорта для создания «запускаемого JAR», вы можете использовать мастер для создания (простого) файла «JAR». В этом мастере вы можете выбрать, какие конкретные файлы должны быть добавлены в файл JAR.

Если вы укажете основной класс в мастере, результирующий файл JAR также будет запущен (двойным щелчком мыши или с помощью java -jar myapp.jar).

0 голосов
/ 02 октября 2009

jar-файлы упакованы и / или сжаты как ZIP-файлы, только изменения расширений

Когда все свойства отображаются в мастере экспорта, они выбраны? Когда вы открываете файл JAR, есть какой-нибудь файл? * .class, META-INF, ...?

[] 's,

и прошлое

...