我们在 Linux 服务器上的 Tomcat 上运行了 Confluence。供应商明确表示它应该只使用 JDK7 而不是新的。由于之前的一个错误,JDK已经从JDK7升级到JDK8。这是经过几个月的操作后发现的。
我的问题是:如果您使用不同的 JDK 运行会有什么影响?
最佳答案
Java 版本通常是向后兼容的:Oracle 非常注意确保任何适用于较旧 Java 版本的 Java 程序也适用于较新的 Java 版本。无需对程序进行更改即可正常工作。
尽管 Oracle 非常小心,但仍可能存在一些小的不兼容性。 JDK 的每个新版本都附带了说明这些可能与旧版本不兼容的文档。对于 JDK8,请参阅:Compatibility Guide for JDK 8 .
但是,仍然有可能编写无法在未来的 Java 版本上正常工作的 Java 程序,例如,当您直接使用本应属于 JDK 内部的类时(请参阅:Why Developers Should Not Write Programs That Call 'sun' Packages)。
关于 Confluence,供应商可能没有正式测试您使用 Java 8 的 Confluence 版本,因此他们不想正式保证它可以工作并为您提供支持,尽管在实践中这可能根本不是问题。
关于java - Tomcat 使用供应商推荐的不同 JDK 时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39637654/