J2EE文档非常糟糕

时间:2017-05-16 22:23:49

标签: java-ee

我正在尝试设置自己的J2EE SDK,但Oracle上的文档非常令人困惑。例如,指令说要在某个位置查找文件。我永远找不到文件。我无法到处看,因为我不知道我是否正在提取正确的文件,或者是否会破坏其他内容。几乎每一行教学都需要更新。任何人都有关于如何设置环境的更新文档?

2 个答案:

答案 0 :(得分:2)

J2EE已重命名为Java EE

首次引入企业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

在撰写本文时,最新版本是Java EE 7,其中包含range of specificationsJava 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?如何对来自GETPOST来电的信息进行编码? (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。您将在应用程序服务器的日志文件中找到对这些步骤的确认。