在OS X Lion上安装Java EE 6

cra*_*aig 8 java macos java-ee osx-lion

我的OS X Lion工作站上的Java Preferences应用程序表明我安装了Java SE 6 v1.6.0_29-b11-402(32位和64位版本).不幸的是,我只需要在企业版中提供其他功能.

'Jesper'在' 如何在Mac OS X上安装特定的jdk?'建议我需要使用Apple提供的Java,而不是Oracle/Sun提供的Java.不幸的是,Apple似乎没有提供Java 6企业版.

这让我提出了一些问题:

  1. 我错过了什么?Apple是否提供Java 6的EE?
  2. 如果1为真,我怎么得到它?可以与Java SE 6"并排"安装吗?
  3. 如果1为假,可以使用Oracle/Sun版本吗?是否有推荐的安装位置?我猜不推荐使用/System/Library/Frameworks/JavaVM.framework/Versions/文件夹.
  4. Oracle/Sun版本似乎包含了许多我不想安装的附加内容(例如Glassfish).我可以安装没有附加功能的核心SDK吗?Tomcat 7是否可以作为Glassfish的替代品?

**编辑**

这个问题是我发布的另一个问题的结果:RESTful Web服务:java.lang.NullPointerException service.AbstractFacade.findAll.似乎这个特殊错误是缺少注释的结果(@Stateless).此注释在javax.ejb.*命名空间中"包含",该命名空间包含在我的工作站上不存在的.JAR文件中.

这使我得出结论,我需要Java 6的"企业版"(它将缺少.JAR文件和其他相关文件).我想如果有办法确定缺少哪个.JAR文件(Netbeans 7似乎没有帮助)我可能只是将它添加到项目中并跳过EE麻烦.

小智 17

对于任何平台,都没有称为Enterprise Edition of Java 的特殊运行时.

有Java SE,Enterprise Edition容器只实现了一些接口.

Sun在几年前提出J2EE时,将市场与命名惯例相混淆.它从来就不是Java的单独版本,只是在API上添加了一些,如果服务器实现它们并通过了一些认证,就可以称自己为J2EE容器.

当他们开始称之为Java EE 6时,他们进一步混淆了市场.

如果您正在针对这些API进行开发,那么您只需要包含这些接口声明的.jar文件.您可以下载以前称为J2EE的API .jar文件.但它们本身就没用了.

但我怀疑你是否想要编写Java EE服务器,你想使用它.如果要使用服务器,则需要下载符合Java EE的服务器并使用它提供的.jar文件.

每个值得使用的IDE都以某种形式包含这些,通常是通过定义要部署的服务器.Tomcat不是一个完全的EE容器.它是一个Servlet容器,是完整EE规范的子集.

从OSX Lion开始,Apple不再提供JDK了,它只是Oracle的一个,你显然已经成功获得了它.

  • 这不像是从某个地方下载"Java EE".这就像你下载一些实现(GlassFish,JBoss AS,WebSphere,WebLogic等)并开发这个服务器. (4认同)

Wil*_*ung 5

Java EE 6是一个规范,其中一些API代表接口.Java EE 6本身并不是这些API的实现.如果您希望使用Java EE 6 API,则需要利用兼容的Java EE Application Server.Glassfish是Java EE 6的参考实现,但是其他服务器也是兼容的.JBoss是另一种流行的选择.

这些可以在Mac OS X上轻松安装.