4

我已经构建了一个可以从我的 IDE (Netbeans) 正确执行的 Java 应用程序。我已将 jar 打包到 Mac OS (Leopard) 的包中。如果我从捆绑包或外壳运行应用程序,则会收到此错误:

java.lang.NoSuchMethodError: java.util.Properties.load(Ljava/io/Reader;)V

我正在使用 java 1.5.0_16。

你知道为什么我在使用 shell 执行 jar 时会出现这个错误吗?你知道为什么我在使用 IDE 时没有得到它吗?

谢谢!

4

2 回答 2

8

您使用的是 Java 5,但Properties.load(Reader)仅在 Java 6(又名 1.6)中引入。如果这种情况再次发生,请检查 JavaDocs(例如本例中的PropertiesJavaDoc)并查看您感兴趣的成员 - 它通常会给出引入它的版本(例如,本例中的“Since: 1.6”) .

您需要创建一个InputStream而不是Reader- 或升级到 Java 6。我怀疑您会发现 NetBeans 正在使用 Java 6,这就是它在那里工作的原因。

于 2009-03-30T05:32:02.920 回答
0

只有阅读器支持 UTF-8 属性。我们需要自己重写那个方法。

于 2011-07-18T21:17:22.420 回答