有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

macos在OS X Lion上安装Java EE 6

我的OSX Lion工作站上的Java首选项应用程序表明我有JavaSE6V1。已安装6.0_29-b11-402(32位和64位版本)。不幸的是,我需要的附加功能仅在企业版中可用

“Jesper”在“How install a specific jdk on Mac OS X?”中的评论建议我需要使用苹果提供的Java,而不是Oracle/Sun提供的Java。不幸的是,苹果似乎没有提供Java6的企业版

这让我提出了一些问题:

  1. 我错过什么了吗?苹果是否提供Java6的EE
  2. 如果1是真的,我如何得到它?它可以与JavaSE6“并排”安装吗
  3. 如果1为false,是否可以使用Oracle/Sun版本?是否有推荐的安装位置?我猜是/System/Library/Frameworks/JavaVM。不建议使用框架/版本/文件夹
  4. Oracle/Sun版本似乎包含了很多我不想安装的附加组件(例如Glassfish)。我是否可以安装不带附加组件的核心SDK?Tomcat7能代替Glassfish吗

**编辑**

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

这让我得出结论,我需要Java6的“企业版”(其中包含丢失的.JAR文件和其他依赖文件)。我想如果有办法确定是哪一个。JAR文件丢失(Netbeans 7似乎对此没有帮助),我可能只需要将其添加到项目中,跳过EE的麻烦


共 (3) 个答案

  1. # 1 楼答案

    对于任何平台,都没有称为Java企业版的特殊运行时

    有JavaSE,也有EnterpriseEdition容器实现的一些接口

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

    当他们开始称之为JavaEE6时,他们进一步混淆了市场

    如果您是根据这些API开发的,那么您所需要的就是。包含这些接口声明的jar文件。您可以下载这些API。jar文件,以前称为J2EE。但它们本身是毫无用处的

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

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

    As of OSX Lion, Apple doesn't supply a JDK anymore,这只是Oracle的一个,您显然已经成功地获得了它

  2. # 2 楼答案

    JavaEE6是一个规范,一些附带的API表示为接口。JavaEE6本身并不是这些API的实现。如果您希望使用JavaEE6API,则需要使用兼容的JavaEE应用服务器Glassfish是JavaEE6的参考实现,但是还有其他兼容的服务器。JBoss是另一种流行的选择

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

  3. # 3 楼答案

    有一个JavaEE下载http://www.oracle.com/technetwork/java/javaee/downloads/index.html就其本身而言,除非您试图开发一个打算在多个容器中运行的应用程序,否则它并不是特别有用

    您通常要做的是下载一个容器并使用它进行开发。e、 g.Glassfish(可在上面的同一链接获得)。有了诸如Netbeans之类的IDE的支持,这项任务可以变得更容易。您可以下载已经包含Glassfish和JavaEEAPI的Netbeans版本,然后开始工作。其他IDE/容器组合也是可能的,通常有一些插件可用

    OSX的Java6JDK/JRE仍然来自苹果。不过,他们将大部分代码转换到了Oracle,而JDK 7的OSX版本已经接近发布状态,对于您的目的来说,它可能已经足够成熟了。我最好的猜测是它是