8

我正在将基于 Spring 3.1.0、Hibernate 3.6.0 的企业应用程序从 Java 6 32 位切换到 Java 7 64 位。有人这样做过吗?任何问题?有没有关于这个主题的资源?

4

2 回答 2

8

以下是我所知道的陷阱:

  • 您可能必须升级 IDE 才能启用 Java 7 功能。
  • 确保命令行工具和您的 IDE 使用相同的 Java 版本。例如,如果您使用 Maven,请查看$HOME/.mavenrc和/或检查环境变量JAVA_HOME
  • 检查 Java 编译器的源/目标选项。
  • Java 7 比 Java 6 更好地支持泛型,因此现在可以编译一些在 Java 6 中失败的代码
  • 64 位版本的 Java 比 32 位版本使用更多的内存
  • Java 7 的第一个版本在 JIT 编译器中有一个严重的错误,它破坏了 Lucene。至少使用 b2 或更好。
于 2012-05-31T12:54:24.553 回答
6

Java 7 使用较新的 JAXB 2.2 而不是 2.1(此处描述了 XML 堆栈的完整更改)。这些版本在为布尔 getter 和 setter 生成的代码上不兼容!

于 2012-05-31T20:36:30.043 回答