java - 当项目有不同的 Java 编译器版本时会出现任何问题吗?

标签 java eclipse maven java-7 java-6

我有一个包含多个 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/

相关文章:

eclipse - eclipse 中的动态 web 应用程序无法在 apache 服务器上运行

eclipse - 使用 CounterClockwise 和 Eclipse 在 Clojure REPL 中进行评估

java - 在manifest文件中怎么写呢?

java - Apache Sling/felix 中的 OSGi slf4j 日志记录

java - 为 DS-2542(XOAI 日期粒度)修补 Dspace 不会导致行为发生变化

java - 从 JAXB 泛型中删除 xsi :type, xmlns :xs, 和 xmlns:xsi

java - maven:无法识别的标签: 'testResources'

java - 为什么这个程序运行这么慢?

java - 使用连续字符键的通用二分搜索失败

java - Eclipse 中的 Android 'create table if not exist' 错误