【问题标题】:J2EE documentation is so badJ2EE 文档太糟糕了
【发布时间】:2017-10-16 04:35:25
【问题描述】:

我正在尝试设置自己的 J2EE SDK,但 Oracle 上的文档非常混乱。例如,该指令说要在某个位置查找文件。我永远找不到文件。我不能到处寻找,因为我不知道我是否在提取正确的文件,或者它是否会破坏其他东西。几乎每一行指令都需要更新。有人有关于如何设置环境的更新文档吗?

【问题讨论】:

  • 你的问题是什么?
  • J2EE 已经……过时了。 Java EE 7,也许吧?
  • 欢迎来到 Stack Overflow。请阅读guidelines,了解如何在问题中发布代码的最小、完整和可验证示例。

标签: jakarta-ee


【解决方案1】:

我同意 Java EE 6 和 EE 7 的在线文档并不总是涵盖该主题的必要深度。然而,EE 开发中的一些可疑问题是由于开发人员首选使用诸如 Eclipse(及其衍生 IDE)之类的 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 连接可能是首选。

Java EE 应用程序使用 JBoss 应用程序服务器、Payara(Glassfish 的继任者)或 Websphere 等应用程序服务器进行部署。在部署(“安装”)期间,调用每个有状态/单例 Java-bean 的初始代码,即@Postconstruct。您将在应用程序服务器上的日志文件中找到这些步骤的确认信息。

【讨论】:

    【解决方案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 规范的子集,其目的是允许开发人员创建更轻量级的应用程序。

    考虑从它开始。顺便提一下,上面提到的 Java EE 7 Samples 项目中使用了 Web Profile。

    依赖关系

    要管理你的依赖,你可以使用Apache Maven

    对于网络配置文件,使用:

    <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 [依赖范围],但表示您希望 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>
    

    【讨论】:

    • 现在更名为 Jakarta EE
    猜你喜欢
    • 1970-01-01
    • 2022-07-13
    • 2012-04-14
    • 2012-04-05
    • 1970-01-01
    • 2010-09-06
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多