2

ファイルを更新するために、.propertiesApacheCommonsConfigurationのPropertiesConfigurationを使用しています。しかし、私は次のようにコードを使用しています:

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

    } catch (ConfigurationException ex) {

    }

このエラーが発生します:

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

ここで何が問題になっていますか?初めて使っています。

PS:処理に利用できる比較的同等以上のライブラリはあります.propertiesか?

4

3 に答える 3

4

互換性のないバージョンのライブラリを使用しています。試す:

  • コモンズ-構成-1.7
  • commons-collections-3.2.1
  • commons-lang-2.6
  • commons-logging-1.1.1

わたしにはできる。

于 2012-03-29T15:33:03.933 に答える
1

私も同じ問題を抱えていて、この投稿は私の一日を救いました。その過程で私が学んだことをもう少し共有したかった:

Sergioが言及した4つすべてを追加する前に、commons-langライブラリを追加してみてください。私のコードは、質問で参照されている例と非常によく似ており、これら2つのライブラリが必要な依存関係を満たしていることがわかりました。

@Haroldo-ライブラリの不一致は正しいです。commons-lang3.3を最初に試しましたが成功しませんでした。commons-configuration-1.9とcommons-lang-2.6がうまく連携することを確認しました。

@Asif-Apacheライブラリの追加機能が必要な特別な理由はありますか?java.util.Propertiesクラスはほとんどのアプリケーションで問題なく機能し、追加のライブラリを必要としないことがわかりました。もちろん、それは返された値で何をしているかによって異なります。

于 2013-02-14T20:09:04.677 に答える
0

「dao.properties」への参照は、Webサービス環境にコードをデプロイしていることを示唆しています。その場合、Webサービスがロードするライブラリと参照しているライブラリが完全に同じ(少なくとも同じバージョン)であることを確認する必要があります。違いにより、発生したようなエラーが発生する可能性があります。 Webサービスクラスローダーは、アプリのクラスローダーによってロードされるものとは異なるため、例外です。

于 2012-03-29T15:40:11.240 に答える