Что не так в использовании PropertiesConfiguration? - PullRequest
2 голосов
/ 29 марта 2012

Для обновления в моем файле .properties я использую конфигурацию Apache Commons PropertiesConfiguration . Но так как я использую код как:

try {
        PropertiesConfiguration properties = new PropertiesConfiguration("dao.properties");

    } catch (ConfigurationException ex) {

    }

Я получаю эту ошибку:

incompatible types
required: java.lang.Throwable
found:    org.apache.commons.configuration.ConfigurationException

Что здесь не так? Я впервые использую его.

P.S .: Существует ли сравнительно эквивалентная или лучшая библиотека для обработки .properties?

Ответы [ 3 ]

4 голосов
/ 29 марта 2012

Вы используете несовместимые версии библиотеки. Попробуйте:

  • Обще-конфигурация-1,7
  • commons-collection-3.2.1
  • Обще-Ланг-2,6
  • Обще-каротаж 1.1.1

Это работает для меня.

1 голос
/ 15 февраля 2013

У меня была такая же проблема, и этот пост спас мой день;Я хотел бы поделиться с вами кое-чем, что я узнал в процессе:

Попробуйте просто добавить библиотеку commons-lang, прежде чем добавлять все четыре, упомянутые Серхио.Мой код выглядит удивительно похожим на пример, на который ссылается вопрос, и я обнаружил, что эти две библиотеки удовлетворяют необходимым зависимостям.

@ Гарольдо - вы правы в несоответствии библиотек.Пробовал commons-lang 3.3 сначала безуспешно.Проверено, что commons-configuration-1.9 и commons-lang-2.6 хорошо работают вместе.

@ Asif - есть ли конкретная причина, по которой вам нужна дополнительная функциональность библиотеки Apache?Я обнаружил, что класс java.util.Properties прекрасно работает для большинства моих приложений и не требует дополнительных библиотек.Конечно, это зависит от того, что вы делаете с возвращенными значениями.

0 голосов
/ 29 марта 2012

Ваша ссылка на "dao.properties" подсказывает мне, что вы развертываете свой код в среде веб-службы. В этом случае вам необходимо убедиться, что библиотеки, загружаемые веб-службой, и библиотеки, на которые вы ссылаетесь, в точности совпадают (по крайней мере, в одной и той же версии), поскольку различия могут вызвать ошибки, подобные той, с которой вы столкнулись - класс, загруженный Загрузчик классов webservice отличается от загружаемого загрузчиком классов вашего приложения, поэтому это исключение.

...