Maven 和 EJB (JEE)

Maven and EJB (JEE)

我是 JEE 语言的新手,我在任何地方都找不到答案。有人可以告诉我在 Eclipse 或 JBoss Studio 上创建项目时选择 Maven 项目或 EJB 项目有什么区别吗?感谢您抽出宝贵时间回答。

首先,JEE 不是一种语言,它是 Java 的企业平台,它包含一系列规范,例如 JPA、EJB、JAX-RS 等。被认证为 JEE 服务器的应用程序服务器提供所有 JEE API 和实现,并且可以 运行 您的 JEE 应用程序。

https://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html

Maven Project是Java基于构建工具maven的Project,EJB Project是IDE特定的配置,其中配置是特定于IDE和不可移植到其他 IDEs。通过 Maven 和 maven-ejb-plugin 的使用,IDE 能够自行配置以提供 EJB 开发所需的所有工具。

建议始终使用 maven 等构建工具管理您的 Java 项目,原因如下。

使用 IDE

管理 Java 项目

如果您通过 IDE 管理一个 Java 项目而不使用构建工具,那么您不能在另一个 IDE 中使用该项目,您只能在IDE 您创建并管理了它。因此 Java 项目不能在不同的 IDE 之间移植。您必须自己定义所有依赖项,甚至是可传递的依赖项,这些依赖项会由构建工具自动解析。

使用构建工具管理 Java 项目

使用构建工具,您有一个由构建工具管理的 Java 项目,构建定义独立于您使用的 IDE。此外,使用构建工具,您的项目的构建可以自动化并在构建服务器中使用,在那里您将没有 IDE 可用。所有 IDE 和构建服务器都很好地支持构建工具。所有 IDE 都可以导入 Java 项目并使用特定于构建工具的构建定义来配置自己。如果您更改构建定义,您只需要更新项目即可。

Java 中最常用的构建工具是什么?

最常用的构建工具是

  • Ant(现在已经过时但值得一提)
  • 行家
  • Gradle

https://ant.apache.org/

https://maven.apache.org/

https://gradle.org/

依赖项在 Java 中如何工作?

Java依赖构建一个非循环图,这意味着仅仅因为你在你的项目中添加了一个依赖,并不意味着你在运行时间内拥有所有可用的依赖,因为大多数依赖项本身都有依赖项。这种依赖称为传递依赖。

什么是传递依赖?

传递依赖是你的依赖依赖于这样的依赖。

your_project -> dep_1 -> dep_2 -> dep_3

因此,对于 IDE 特定配置,您必须手动将 dep_1、dep_2 和 dep_3 添加到您的IDE 特定配置中的依赖项,因为它不会为您完成。

使用构建工具,您只需要将依赖项 dep_1 添加到您的构建定义中,因为 dep_1 将在其构建定义中定义对 dep_2 的依赖,依此类推。你明白了。

有用的链接

有关详细信息,请参阅以下链接。

What is a build tool?

https://jrebel.com/rebellabs/ides-vs-build-tools-how-eclipse-intellij-idea-netbeans-users-work-with-maven-ant-sbt-gradle/

http://www.lihaoyi.com/post/WhatsinaBuildTool.html

关于构建工具以及为什么在 IDE 特定配置上使用它还有很多要说的,但对我来说最重要的是 IDE 之间的可移植性,自动化的可能性构建和构建定义的独立性以及正在使用的 IDE。

希望我可以让您大致了解使用 IDE 或构建工具管理 Java 项目之间的区别。