Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在OS X Lion上安装JavaEE6_Java_Macos_Jakarta Ee_Osx Lion - Fatal编程技术网

在OS X Lion上安装JavaEE6

在OS X Lion上安装JavaEE6,java,macos,jakarta-ee,osx-lion,Java,Macos,Jakarta Ee,Osx Lion,我的OS X Lion工作站上的Java Preferences应用程序表明我已安装Java SE 6 v1.6.0_29-b11-402(32位和64位版本)。不幸的是,我需要的附加功能仅在企业版中可用 “Jesper”在“”中的评论建议我需要使用苹果提供的Java,而不是Oracle/Sun提供的Java。不幸的是,苹果似乎没有提供Java6的企业版 这让我提出了一些问题: 我错过什么了吗?苹果是否提供Java6的EE 如果1是真的,我如何得到它?它可以与JavaSE6“并排”安装吗 如果1

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

“Jesper”在“”中的评论建议我需要使用苹果提供的Java,而不是Oracle/Sun提供的Java。不幸的是,苹果似乎没有提供Java6的企业版

这让我提出了一些问题:

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

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


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

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

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

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

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

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

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

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


    ,它只是Oracle的一个,您显然已经成功收购了它。

    有一个Java EE下载。但就其本身而言,它并不是特别有用,除非您正试图开发一个打算在多个容器中运行的应用程序

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


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

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


    这些很容易安装在Mac OS X上。

    我不明白。如果没有企业版,为什么Oracle仍然使用这个术语?这不像是从某处下载“JavaEE”。这就像下载一些实现(GlassFish、JBossAS、WebSphere、WebLogic等)并重新开发此服务器。您也不会下载JavaSE,但会下载一个实现。只有Oracle的实现获得了如此多的市场份额,以至于它或多或少成为了JavaSE的同义词,但也有JRockit、MJR、Microsoft版本(曾经是最著名的版本!),还有IBM版本GCJ(尽管它从未真正起作用)和其他一些不知名的实现。OpenJDK是最著名的替代方案,尽管Oracle版本现在直接基于此,因此也没有什么不同。因此,苹果可以提供EE而不是SE的实现(这似乎是它在Lion之前所做的)?谢谢,您编辑的答案更清楚。就我个人而言,我发现任何与Java名称有关的东西都令人非常困惑(Oracle的影响?);也许他们应该把它改名为阿斯匹林……就像标题中的Lion一样,如果你读了链接到的关于堆栈溢出问题的文章,你会注意到它指的是Openjdk 7。请检查以下关于如何下载JDK6 for Lion的问题的第一个答案,如果您阅读了我链接到它的答案是关于Java如何在Lion中交付的话。