我有一个包含多个 Java 项目的 Eclipse 工作区(在 Maven 中);这些相互依赖。最近我开始更改一些项目以针对 Java 1.7,除了解决一些新的警告之外,编译时没有什么不同。
但是,当我尝试运行所有内容时,感觉可能会出错。类文件在以下几种情况下是如何加载的,是否存在问题?
- 当 Java 1.6 项目依赖于 Java 1.7 项目时会出现问题吗? 1.6 VM 会拒绝运行任何 1.7 生成的字节码,还是会发生一些奇怪的事情才能让它运行?
- 反向的时候有问题吗?
最佳答案
当你有 java 1.6 项目依赖于 Java 1.7 项目或 java 1.7 项目依赖于 Java 1.6 项目时,你应该始终在更高版本的 JVM 上运行你的程序,在这种情况下是 java 1.7。简而言之,在大多数情况下,使用 Java SE 6 编译器构建的类文件将在 Java SE 7 中正确运行。但也有一些异常(exception)。请看Incompatibilities between Java SE 7 and Java SE 6获取 Java 6 和 Java 7 之间的不兼容性列表。
关于java - 当项目有不同的 Java 编译器版本时会出现任何问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15081429/