我将开发面向WebSphere 8.5服务器的企业应用程序。 WebSphere 8.5与Java EE 6和Java SE 7一起使用。
那么就代码开发而言,这意味着什么呢? Java EE只是一组额外的企业库吗? Java EE 6是否意味着它使用Java 6语法?我是否可以在8.5服务器上使用Java 7语法并仍然使用Java EE 6提供的框架和Web服务?
答案 0 :(得分:3)
Java EE实际上是各种技术的一组规范。每个规范通常都有一个API(例如:javax.servlet。*,javax.ejb。*等,由各种供应商实现(例如:IBM websphere,JBoss,Weblogic等)。这个想法是你只学习和编写你的代码一次,但您可以使用您的代码(通过一些调整)以及您对各种供应商实施的了解。
编译战争时,通常必须在类路径中包含(仅用于编译目的 - 不一定打包)特定版本的java ee api组件(例如:java-servlet-2.5)。 API组件通常依赖于特定版本的Java SE(例如:如果API /供应商实现使用泛型,则需要Java SE 5或更高版本)
Java EE is required to be backward compatible,因此如果您针对Java EE 6 API编译和打包,它将在Java EE 7容器上运行。
您不一定非必须使用Java SE 7 API在Java EE 7上运行代码,您始终可以针对旧版Java EE API(因此较旧的Java SE)编译您的战争。只有在针对最新版本的API进行编译时,才能使用新功能。
答案 1 :(得分:1)
Java EE规范确实针对特定的Java SE版本。例如,JSR 316说:Java EE 6 is the Enterprise Edition of version 6 of the Java platform, and thus will be built on Java SE 6.
个别规范可能仍然选择与较低版本的Java SE兼容,但从不更高版本。 Java EE实现是否实际运行在更高版本的Java SE上,取决于实现。
答案 2 :(得分:1)
那么就代码开发而言,这意味着什么呢?
这意味着,您应该了解Java SE以使用Java EE标准创建应用程序。 Java EE基于Java SE。
Java SE 7 tutorial
Java EE 6 tutorial
Java EE是否只是一组额外的企业库?
好吧,简化很多事情......是的。
Java EE 6是否意味着它使用Java 6语法? 我是否可以在8.5服务器上使用Java 7语法并仍然使用Java EE 6提供的框架和Web服务?
您可以在Java EE 6应用程序中使用Java SE 7语法。但您也可以使用Java SE 6语法。