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

dan*_*n_l 23 java java-ee

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

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

我应该安装哪一个?

Ken*_*han 22

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

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

见这 对技术包括GlassFish中的Web Profile的版和完整版的区别


Bas*_*que 9

阅读规格

请参阅定义Java EE 7 Web Profile的官方文档.简短,20页,易于阅读.

打桩图书馆

除了Standard Edition Java(Java SE)中包含的技术之外,任何声称符合Web Profile的Web应用程序服务器都需要提供以下组件.在Java EE的Wikipedia页面和2013年的Oracle白皮书中找到此列表.

  • 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验证1.1
  • Managed Beans 1.0
  • 拦截器1.1
  • Java EE平台的上下文和依赖注入1.1
  • Java 1.0的依赖注入

把事情简单化

Java SE - > Servlet/JSP - > Web Profile(部分Java EE) - >完整的Java EE

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

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

如果您需要"完整"中包含的技术,那么请升级到像Glassfish这样的东西.

有关此问题的副本,请参阅我的更长答案.