升级到Java 7时有哪些陷阱

升级到Java 7时有哪些陷阱,java,spring,hibernate,jakarta-ee,Java,Spring,Hibernate,Jakarta Ee,我正在将基于Spring3.1.0和Hibernate3.6.0构建的企业应用程序从Java6 32位切换到Java7 64位。 有人这样做过吗?有什么问题吗?有关于这个主题的资源吗?以下是我知道的陷阱: 您可能必须升级IDE才能启用Java7功能 确保命令行工具和IDE使用相同的Java版本。例如,如果您正在使用Maven,请查看$HOME/.mavenrc和/或检查环境变量JAVA\u HOME 检查Java编译器的源/目标选项 Java 7比Java 6更好地支持泛型,因此现在将编译一些

我正在将基于Spring3.1.0和Hibernate3.6.0构建的企业应用程序从Java6 32位切换到Java7 64位。
有人这样做过吗?有什么问题吗?有关于这个主题的资源吗?

以下是我知道的陷阱:

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

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

最好的办法是切换,然后在相同的测试环境下比较两个版本。刚刚发现这个(有点旧)问题: