java.lang.NoSuchMethodError:java.util.Properties.load(啊?为什么?)

发布于 2024-07-15 19:13:54 字数 347 浏览 10 评论 0原文

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

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

我正在使用 java 1.5.0_16。

你知道为什么当我使用 shell 执行 jar 时会出现此错误吗? 你知道为什么我使用IDE时看不到它吗?

谢谢!

I've built a Java application which executes correctly from my IDE (Netbeans).
I have packaged the jar into a bundle for Mac OS (Leopard). If I run the application from the bundle or from the shell I get this error:

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

I'm using java 1.5.0_16.

Do you know why I get this error when I execute the jar using shell.
Do you know why I don't get it when I use IDE?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

可可 2024-07-22 19:13:54

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

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

You're using Java 5, but Properties.load(Reader) was only introduced in Java 6 (aka 1.6). If this ever happens again, check the JavaDocs (e.g. the Properties JavaDoc in this case) and look at the member you're interested in - it will often give the version in which it was introduced (e.g. "Since: 1.6" in this case).

You'll need to create an InputStream instead of a Reader - or upgrade to Java 6. I suspect you'll find NetBeans is using Java 6, which is why it's working there.

北斗星光 2024-07-22 19:13:54

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

Only the reader support UTF-8 properties. We need to retwrite that method by ourselves.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文