这个问题一直困扰着我。NetBeans wiki 对此没有任何说明……此外,JDK 1.5 将很快完成生命周期结束,而 1.6 已经存在了很长一段时间。
那么即使 1.6 在所有支持 Netbeans 的平台上都可用,为什么他们仍然使用 1.5 版本呢?
我只使用过几次 Netbeans,但我知道您可以下载带有最新版本 Java SE 6 SDK (6u14) 的 Netbeans 6.7。
除非您的意思是使用 Java EE 5 SDK。J2EE 5 只是一个规范,由 Sun 的 GlassFish 堆栈、Jetty、Apache Geronimo(部分由 Apache Tomcat)等实现...
Sun 的Java EE 5 SDK只是带有 GlassFish 应用服务器和其他可选下载的 Java SE 6 SDK,它们实现了规范的其他部分。
NetBeans 团队需要 JDK 1.5 以确保生成的 jar 将在 1.5 JVM 上运行。
如果它只是供您自己使用,则不需要使用 JDK 1.5 构建它。但是,如果您计划开发模块,则需要使用 1.5 以确保其他人都可以使用您的模块。
如果使用 1.6 进行编译,则可以使用 -target 1.5 生成将加载到 1.5 JVM 中的类。缺点是它不会阻止您使用 1.6 中引入的类或方法(例如:StringBuilder)。它将在 1.5 JVM 中加载,但会因 ClassNotFoundException、NoSuchMethodErrot 或 NoSuchFieldError 等错误而失败。