我已经构建了一个从我的IDE(Netbeans)正确执行的Java应用程序.我已经将jar打包成了适用于Mac OS(Leopard)的软件包.如果我从bundle或shell运行应用程序,我会收到此错误:
java.lang.NoSuchMethodError:java.util.Properties.load(Ljava/io/Reader;)V
我正在使用java 1.5.0_16.
你知道为什么我在使用shell执行jar时会出现这个错误.你知道为什么我使用IDE时没有得到它吗?
谢谢!
您使用的是Java 5,但Properties.load(Reader)
仅在Java 6(又名1.6)中引入.如果再次发生这种情况,请检查JavaDocs(例如本例中的Properties
JavaDoc)并查看您感兴趣的成员 - 它通常会给出它所引入的版本(例如"在这种情况下为:Since:1.6") .
您需要创建一个InputStream
而不是Reader
- 或者升级到Java 6.我怀疑您会发现NetBeans正在使用Java 6,这就是它在那里工作的原因.