Java EE包有什么不同? (SDK / normal vs Web Profile)

时间:2011-12-23 04:32:00

标签: java java-ee

在Oracle java站点http://www.oracle.com/technetwork/java/javaee/downloads/index-jsp-140710.html中,

有Java EE SDK下载和Java EE Web Profile下载。

我应该安装哪一个?

3 个答案:

答案 0 :(得分:21)

oracle java站点的包只是一个GlassFish开源应用服务器,API文档和一些示例代码。

Web配置文件版本与完整版本之间的区别在于Web配置文件版本仅提供Java EE平台的一个子集。它专为Web应用程序开发而设计,仅包含大多数Web应用程序所需的技术,并且不包括那些Web应用程序通常不需要的企业技术(如JMS和Web服务)

有关GlassFish网页个人资料版和完整版中包含的技术的差异,请参阅this

答案 1 :(得分:9)

阅读规范

请参阅official document defining the Web Profile of Java EE 7。简短,20页,易于阅读。

在图书馆打桩

除了标准版Java(Java SE)中包含的技术之外,任何声称符合Web配置文件的Web应用服务器都需要提供以下组件。在Wikipedia page on Java EEthis Oracle white paper of 2013中找到此列表。

  • Servlet 3.1(JSR 340
  • JavaServer Pages(JSP)2.2(JSR 245
  • 表达语言(EL)3.0(JSR 341
  • 调试对其他语言的支持(JSR 45)1.0
  • JavaServer Pages标准标记库(JSTL)1.2
  • JavaServer Faces(JSF)2.2
  • 用于RESTful Web服务的Java API(JAX-RS)2.0
  • Java平台的通用注释(JSR 250)1.1
  • Enterprise JavaBeans(EJB)3.2 Lite
  • Java Transaction API(JTA)1.2
  • Java Persistence API(JPA)2.1
  • Bean Validation 1.1
  • Managed Beans 1.0
  • 拦截器1.1
  • Java EE平台1.1的上下文和依赖注入
  • Java 1.0的依赖注入

保持简单

Java SE - > Servlet / JSP - > Web配置文件(部分Java EE) - >完整的Java EE

通常最好保持简单。如果你需要的只是Servlets / JSP,那么使用Java SE(常规Java)并使用Servlet引擎(“容器”)添加与Servlet相关的jar,例如TomcatJetty。许多人这样做。此类配置未被正式识别为“企业版”,但您可能只需要企业应用程序。例如,我需要在Vaadin中构建应用程序:使用NetBeans 8和Tomcat 8在Mac OS X上构建Java 8 SE。

如果您需要上面列出的某些技术,首先要看看您是否可以简单地将一些jar添加到Java SE环境中。例如,Bean Validation就属于这种情况。但是某些技术可能需要内置于服务器中的支持。或者,为方便起见,您可能已经达到了希望为您安装和更新此类库的程度。如果是这样,请转到Web配置文件服务器,例如TomEE项目,Tomcat的扩展版本。

如果您需要“完整”中包含的技术,请转到类似Glassfish的内容。

有关此问题的副本,请参阅my longer Answer

答案 2 :(得分:3)

我几乎有同样的问题,这个答案在搜索结果中得到了很高的评价。我最终发现了这篇文章Introducing the Java EE Web Profile,它至少从系统管理员的角度来讲,涵盖了这个主题。特别是,第二个图形确实以“图片说千言万语”的方式捕获它。

本文的第二部分将详细介绍面向Java程序员的内容。