Когда я запускаю приложение из bndtools (используя файл launch.bndrun
), я могу указать -runproperties: java.util.logging.config.file=jul-debug.properties
, при этом jul-debug.properties
является файлом в рабочем каталоге. Все нормально и работает как положено, т.е. свойства java.util.logging считываются из моего файла конфигурации.
Когда я создаю экспорт (launch.jar
) с помощью этого lauch.bndrun
, файл конфигурации jul-debug.properties
не включается в launch.jar
. Могу ли я добавить некоторую инструкцию к launch.bndrun
, которая заставляет jul-debug.properties
быть включенным в laucn.jar
таким образом, что jar -jar launch.jar
будет вызывать оценку файла конфигурации?
Я просмотрел все инструкции -run...
для bnd, но ничего не нашел.
Помимо встраивания конфигурации, вопрос в том, найдет ли логирование java util конфигурацию во время выполнения, если она находится внутри jar.
@ bj-hargrave: пробовал, но -includeresource
не действует на launch.bndrun
. И нехорошо иметь файл в одной из связок. Конечно, Кристиан прав. Может быть, мне следует повторить вопрос: можно ли включить файл (например, jul-debug.properties
) в сгенерированную экспортную банку, которая копируется в рабочий каталог, установленный для приложения при запуске (настроенный с помощью -runstorage
, верно?).
-runstorage
НЕ является рабочим каталогом для использования вашим приложением. Это рабочий каталог исключительно для OSGi Framework. Вы не должны хранить там произвольные файлы, хотя вы можете попросить OSGi безопасно хранить файлы там, вызвав BundleContext.getDataFile
.
Чтобы (надеюсь) ответить на фактический вопрос ... нет, экспортер JAR не включает в экспортированный JAR ничего, кроме пакетов и кода запуска. Я не знаю, как добавить туда дополнительные файлы, не написав плагин экспортера.
-includeresource: jul-debug.properties
в файле bndrun работает при создании исполняемого jar-файла: github.com/bndtools/bnd/blob/…. Но запуск не упаковывает банку, он запускается на месте.
Вы пробовали -includeresource?