Конфиг-файлы - куда их поместить в Java?

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

Я хочу, чтобы папка моего распространяемого приложения выглядела следующим образом:

MyApp/Application.jar
MyApp/SpringConfig.xml
MyApp/OtherConfig.xml
MyApp/lib

Но в данный момент SpringConfig.xml находится внутри Application.jar и я даже не могу найти OtherConfig.xml программно.

Мне все равно, как я настраивал различные файлы в моем пути компиляции, если они в конечном итоге выглядят так, как указано выше.

Итак ..

  • где я могу разместить файлы в моей настройке dev?
  • и как я могу получить к ним программный доступ?

спасибо

4 голоса | спросил MalcomTucker 12 FebruaryEurope/MoscowbFri, 12 Feb 2010 00:58:22 +0300000000amFri, 12 Feb 2010 00:58:22 +030010 2010, 00:58:22

2 ответа


0
  • весенний конфигурационный файл связан с кодом и проводкой вашего приложения, поэтому он должен быть внутри jar и должен быть изменен пользователями

  • (new File(".")).getAbsolutePath(); возвращает абсолютный путь к вашей банке - тогда вы можете загрузить OtherConfig.xml простым FileInputStream

  • если SpringConfig.xml содержит данные конфигурации, такие как учетные данные базы данных, поместите их во внешний application.properties и используйте пользовательский PropertyPlaceholderConfigurer для загрузки внешнего файла.

Ответ на вопрос "где я могу разместить файлы в моей настройке dev" невозможен, потому что мы не знаем вашу среду.

На самом деле, если вы хотите иметь возможность редактировать конфигурацию самостоятельно (и не обязательно конечных пользователей), вы можете открыть jar с любым программным обеспечением zip (например, WinRAR) и отредактируйте файл конфигурации в банке.

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

ответил Bozho 12 FebruaryEurope/MoscowbFri, 12 Feb 2010 01:06:24 +0300000000amFri, 12 Feb 2010 01:06:24 +030010 2010, 01:06:24
0

1.) Я не знаю, как на это ответить. ¿Где их легко найти? Не понимайте суть вопроса (не поймите меня неправильно, не ваша вина, я тот, кто не понимает)

2.) Используйте переменные окружения в вашей ОС (например, PATH, но с уникальными именами, «APPNAME_CONFIG» или что-то в этом роде). Затем укажите их в своем коде.

ответил Alfabravo 12 FebruaryEurope/MoscowbFri, 12 Feb 2010 01:04:16 +0300000000amFri, 12 Feb 2010 01:04:16 +030010 2010, 01:04:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132