使用其他版本的java编译代码
我开发了一个需要jdk版本1.6的程序,但我受到jdk1.4的限制。当我尝试使用jdk1.4编译代码时,编译器会给出以下代码的编译错误使用其他版本的java编译代码,java,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 PasswordP
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版本。请指导,如何消除此编译错误,以便正确编译代码。通常,您必须升级Java或更改代码,以便仅使用所选Java版本中可用的内容 从错误消息中,我猜测需要某种加密。您可能可以使用JDK提供的工具来代替。这取决于您使用的代码 另外,你也可以尝试删除那些没有编译的行,看看哪些行被破坏了,然后用你可以使用的工具重新开始构建必要的特性 从1.4到1.5的更改非常大,可能有太多的代码需要更改
也许你应该说服你的客户更新更新的Java。垃圾收集能力在许多其他方面都有了很大的发展。Java1.4在年已经走到了尽头。PrivateKeyEntry是在JDK1.5中引入的。所以你不能在1.4中使用它们。但是,您可以在javac命令中使用JDK 1.5编译器和-target jsr14和-source 1.5选项请发布完整的编译错误。添加了类PrivateKeyEntry。您可能需要重构代码。您好,Drux,您是对的,这个类在jdk1.5和jdk1.5中也可用。我的代码编译并成功运行。我下载了一个具有相同类的jar文件,并将该jar放在类路径中,然后编译了代码,但结果是一样的。考虑到java 1.4多年来没有安全更新,您的第一个行动应该是尝试说服您的客户升级到oracle支持的版本,例如7或8。只要运行时不需要Java 1.5特定代码,这应该可以工作。如果因为PrivateKeyEntry类而失败。文档说PrivateKeyEntry是从1.5添加的,所以这应该可以完成工作是的,我知道。但是JDK1.4不识别源代码级别1.5或更高级别。-target jsr14,相当于1.4选项–除了它允许源代码格式为1.5I know the parameters做什么。但是1.4javac对1.5一无所知。它不允许将源或目标级别设置为1.4。