2

为了更新我的.properties文件,我使用 Apache Commons Configuration 的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
  • 公共日志记录-1.1.1

这个对我有用。

于 2012-03-29T15:33:03.933 回答
1

我遇到了同样的问题,这篇文章挽救了我的一天;想分享更多我在这个过程中学到的东西:

在添加 Sergio 提到的所有四个之前,尝试添加 commons-lang 库。我的代码看起来与问题中引用的示例非常相似,我发现这两个库满足了所需的依赖关系。

@Haroldo - 你在图书馆不匹配中是正确的。首先尝试了 commons-lang 3.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 服务加载的库和您引用的库完全相同(至少相同的版本),因为差异可能会导致您遇到的错误——由webservice 类加载器不同于应用程序类加载器加载的类加载器,因此存在异常。

于 2012-03-29T15:40:11.240 回答