我开发了一个需要jdk版本1.6的程序,但我受限于jdk1.4。当我尝试使用jdk1.4编译我的代码时,编译器会给出以下代码的编译错误。
symbol : class PrivateKeyEntry
location: class java.security.KeyStore
KeyStore.PrivateKeyEntry keyEntry =(KeyStore.PrivateKeyEntry)ks.getEntry("");
symbol : class PasswordProtection
location: class java.security.KeyStore
new KeyStore.PasswordProtection("shivambp2014".toCharArray()));
我的客户端也使用jdk1.4版本。请指导,我如何摆脱这个编译错误,以便我可以正确编译代码。
答案 0 :(得分:0)
通常,您必须升级Java或更改代码以仅使用所选Java版本中可用的内容。
从错误消息我猜测需要某种加密。您可以使用Bouncy Castle而不是JDK提供的工具。这取决于您正在使用的代码。
另外,也可以尝试删除不编译的行,看看哪些内容被破坏,然后再使用您可以使用的工具再次构建必要的功能。
1.4到1.5之间的变化非常大,很可能会有太多的代码让你改变......
也许你应该说服你的客户更新更新的Java。垃圾收集能力在很多其他方面都有很大发展。 Java 1.4已经达到了它的生命终结"在2008。
答案 1 :(得分:0)
PrivateKeyEntry
。所以你不能在1.4中使用它们。但是,您可以在javac命令中使用JDK 1.5
编译器和-target jsr14
以及-source 1.5
选项