我正在尝试设置自己的J2EE SDK,但Oracle上的文档非常令人困惑。例如,指令说要在某个位置查找文件。我永远找不到文件。我无法到处看,因为我不知道我是否正在提取正确的文件,或者是否会破坏其他内容。几乎每一行教学都需要更新。任何人都有关于如何设置环境的更新文档?
答案 0 :(得分:2)
首次引入企业Java平台时,它被称为 Java 2 Platform,Enterprise Edition ,缩写为 J2EE 。
随着2006年初发布的平台版本,Java名称丢失了 2 ,点零。例如,J2EE 5.0就变成了Java EE 5。
啊! Don't call it JEE。它是 Java EE 。
在撰写本文时,最新版本是Java EE 7,其中包含range of specifications。 Java EE 7 tutorial会为您提供有关这些规范的更多详细信息。
GitHub上提供的Java EE 7 Samples project将帮助您开始。
要开发Java应用程序,首先需要JDK。
然后安装一个支持Java EE的IDE:
请记住,Java EE是一组规范,因此您需要实际实现这些规范。这些实现由Java EE容器提供。
以下是您可以使用的容器的几个示例:
在IDE中设置JDK和Java EE容器(有关详细信息,请查看IDE文档)。
值得一提的是,Java EE 6引入了Web Profile,它是Java EE规范的一个子集,其目的是允许开发人员创建更轻量级的应用程序。
考虑从它开始。顺便说一下,Web Profile在上面提到的Java EE 7 Samples项目中使用。
要管理您的依赖项,您可以使用Apache Maven。
对于Web配置文件,请使用:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
以下是完整档案:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
这些依赖项必须使用provided
范围。 Apache Maven documentation解释了provided
范围的工作原理:
这很像
compile
[dependency scope],但表示您希望JDK或容器在运行时提供依赖关系。例如,在为Java Enterprise Edition构建Web应用程序时,您可以将Servlet API和相关Java EE API的依赖关系设置为提供的范围,因为Web容器提供了这些类。此范围仅在编译和测试类路径中可用,并且不可传递。
这里有pom.xml
,可以帮助您开始:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-application</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</provided>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
</plugin>
</plugins>
</build>
</project>
答案 1 :(得分:0)
我同意Java EE 6和EE 7的在线文档并不总是涵盖这个主题的必要深度。然而,EE开发中的一些可疑问题是由开发人员首先使用IDE(如Eclipse(及其衍生的IDE))来编程和部署他们的Java EE应用程序引起的。不清楚的部分,如部署描述符,以及存储相关文件的位置,这些都没有得到很好的解释。这也适用于EE向导('设置你自己的EE项目',步骤)。在更现代的IDE中,这些问题已得到解决。在建议使用Java EE应用程序之前,我建议您参与Netbeans或Intellij。你会在那里找到很多帮助。
如果您事先与Spring合作过,那么您已经了解了几个方面。什么是Web服务,Rest-endpoint?如何对来自GET
或POST
来电的信息进行编码? (Java EE允许的XML与JSON或两者)。 Web编程比执行Java SE更复杂,也因为您需要了解何时使用无状态Java bean,单例Java bean,@Postconstruct
的含义以及其他几种类型的EE注释(@ ... ....)。
数据库的EE实现称为持久性单元。它配置有.XML文件,专门用于每种类型的持久性单元(即,特定于数据库)。您也希望配置JPA以便于实体存储和检索,尽管基于SQL的JDBC连接可能是首选。
使用JBoss Application Server,Payara(Glassfish的后继者)或Websphere等应用程序服务器部署Java EE应用程序。在部署('安装')期间,调用每个statefull / singleton Java-bean的初始代码,即@Postconstruct
。您将在应用程序服务器的日志文件中找到对这些步骤的确认。