我用Java 7编译了我的旧JAR文件,我的生产环境有Java 8。在将JAR文件直接部署到Java 8环境时,我需要小心吗?我在Java 8上测试它们,它运行得很好。我会遇到什么问题吗?或者我应该没事?我想知道这一点,因为我正在讨论删除Java 8和安装Java 7。
编辑:一个附带的问题:公司在更新他们的Java版本时是否更新他们的代码?我无法想象这会有多痛苦,所以如果你的应用程序在以前的版本上工作,然后在新版本上完全失败。
发布于 2014-07-07 16:40:56
我想知道这一点,因为我正在讨论删除Java 8和安装Java 7。
我猜你的意思是相反的?
Java试图尽可能地保持向后兼容性,所以至少在理论上应该是可以的。
然而,在实践中,有时确实会出现问题,所以我主张彻底测试。这可能是由于回归错误,或者(在我的经验中)错误代码可能在Java 7下运行得很好,但没有在8下运行。(FWIW,我有几个FX应用程序混合在8以下,但在7下运行得很好,结果都是由于我的代码中的错误,在运行7时,碰巧没有异常的副作用。)
发布于 2014-07-07 16:50:19
通常情况下,应该没有问题。否则,您将很难使用没有为Java 8显式编译的任何第三方库。
我建议在一个连续的集成服务器上运行您的自动化测试,比如使用Java 8的Jenkins,看看是否有任何问题。
发布于 2016-11-02 01:45:59
使用用Java 7编译的jar依赖项打包Java 8应用程序是安全的。然而,考虑到这一点,请记住JDK 7和8中的差异,这可能导致相同的Java代码在JDK 8和JDK 7上运行时的行为可能有所不同(参见JDK 8发行说明)
https://stackoverflow.com/questions/24615534
复制相似问题