Использование jndi - хорошее решение. Конфигурация времени выполнения через консоль администратора веб-сервера. Webapp получит изменения, как только вы получите свойство. Вам не нужно перезапускать приложение.

ник по Java об использовании свойств рассказывает о том, как использовать класс Properties. В руководстве показано, как свойства записываются в файл с именем «defaultProperties». Итак, что такое хорошее имя и место для файла свойств?Я обычно пишу одно из двух Java-приложений: системную утилиту или пользовательскую программу. Я думаю, что большинство системных утилит будет иметь файл в

 и большинство пользовательских программ создаст/etc/myfile.properties, Однако эти пути не будут работать в Windows. Есть ли более общий способ определения этих деталей, чтобы сделать платформу кода независимой?~/.myfile.propertiesПосмотрите на это решение:

Ответы на вопрос(4)

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

Если вы упаковываете файл props как часть приложения и предназначен только для чтения, поместите его в файл jar. Если вам также необходимо обновить его, сделайте его доступным через file: /// url и передайте путь к файлу в качестве аргумента JVM (-DfileUrl = ...).

 Preferences позволяет хранить / извлекать пользовательские и системные настройки и автоматически обрабатывает постоянство для вас. Постоянство зависит от платформы; для Windows он использует реестр, а для Unix - скрытые файлы.Properties.

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

 Qwerky12 янв. 2011 г., 17:36
Если вы говорите о сохранении внешнего файла свойств для настройки вашего приложения, то я бы предложилProperties.
 User112 янв. 2011 г., 17:24
 API работает таким образом?PreferencesЕсли вы хотите файл конфигурации, который пользователь может настроить, используйте

размещенном внутри вашего проекта, держите его в

System.getProperty("user.home")+File.separator+ "yourappname"+File.separator+"name.properties"

ИЛИ ЖЕdefault package.

другие варианты используют файл XML, или

Это кажется выполнимым. Есть ли независимый от платформы эквивалентPreference

 Jigar Joshi12 янв. 2011 г., 19:19
Вот несколько альтернативных решений:
 User112 янв. 2011 г., 17:04
? Я даже не уверен, что это будет отображаться в Windows, поскольку реестр обычно используется для этой информации./etc не зависит от платформы, для Linux это будет / home / userName /, для Windows это будет
 Tom Anderson12 янв. 2011 г., 19:16
bugs.sun.com/bugdatabase/view_bug.do?bug_id=4162112 и друзья. Однако для целей User1 это, вероятно, лучше.@ В каком бы месте это ни находилось, это дом пользователя в конце, java решит его, и он будет независимым от платформы
 Jigar Joshi12 янв. 2011 г., 17:06
System.getProperty("user.home")life.java: неожиданно для Windows это не C: \ Documents and Settings \ userName, это что-то вроде C: \ WINNT \ Profiles \ userName. Видетьc:\\Documents and Settings\\userName\\

Ваш ответ на вопрос