用其他版本的java编译代码

时间:2014-07-11 09:29:26

标签: java

我开发了一个需要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版本。请指导,我如何摆脱这个编译错误,以便我可以正确编译代码。

2 个答案:

答案 0 :(得分:0)

通常,您必须升级Java或更改代码以仅使用所选Java版本中可用的内容。

从错误消息我猜测需要某种加密。您可以使用Bouncy Castle而不是JDK提供的工具。这取决于您正在使用的代码。

另外,也可以尝试删除不编译的行,看看哪些内容被破坏,然后再使用您可以使用的工具再次构建必要的功能。

1.4到1.5之间的变化非常大,很可能会有太多的代码让你改变......

也许你应该说服你的客户更新更新的Java。垃圾收集能力在很多其他方面都有很大发展。 Java 1.4已经达到了它的生命终结"在2008

答案 1 :(得分:0)

在JDK 1.5中引入了

PrivateKeyEntry。所以你不能在1.4中使用它们。但是,您可以在javac命令中使用JDK 1.5编译器和-target jsr14以及-source 1.5选项