使用Java7运行用Java6编写的应用程序安全吗?

使用Java7运行用Java6编写的应用程序安全吗?,java,java-7,java-6,Java,Java 7,Java 6,我正在开发一个用Java6编写的ERP系统 启动时,Java 6必须与以下代码一起使用: if (!System.getProperty("java.version").startsWith("1.6")) // terminate 据我所知,Java7的设计目的是能够运行在早期版本中开发的应用程序 “打破”这张支票是否相对安全?我会遇到什么问题 “打破”这张支票是否相对安全?我会遇到什么问题 对。我认为该检查是为了防止您在早期版本(或不受支持的版本)上运行。它可能会停止工作。而且,它

我正在开发一个用Java6编写的ERP系统

启动时,Java 6必须与以下代码一起使用:

if (!System.getProperty("java.version").startsWith("1.6"))
    // terminate
据我所知,Java7的设计目的是能够运行在早期版本中开发的应用程序

“打破”这张支票是否相对安全?我会遇到什么问题

“打破”这张支票是否相对安全?我会遇到什么问题

对。我认为该检查是为了防止您在早期版本(或不受支持的版本)上运行。它可能会停止工作。而且,它可能会违反您的任何支持合同。他们可能正在使用JNI或JNA来处理不兼容的本机库。他们可能正在使用无法工作的自定义对象序列化


当然,这可能有用。我们无法保证(或为您测试)。

您的应用程序有测试吗?Java 7将于2015年4月下线-直接转到Java 8和。。。。测试列表。。。我认为您的代码可能会在Java7VM中正确运行,但这并不确定。与VM本身的更改相比,标准库中的行为更改更容易造成问题。我认为Java1.4和Java1.5之间的
BigDecimal
就是这样一个问题。正如@Maxim所暗示的,这类事情就是自动化测试的目的。我想说,除非您的erp供应商向您提供与wtih java7兼容的版本(就此与他们沟通),否则只使用java6,使用java7可能会很好,但您永远不知道将来会出现什么中断(可能是由于非常小的问题)。如果您决定使用java7,那么您应该对应用程序进行回归测试。