繁体   English   中英

Maven和EJB(JEE)

[英]Maven and EJB (JEE)

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

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

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

Maven项目是基于构建工具maven的Java项目,而EJB项目是IDE特定的配置,因此该配置特定于IDE,不可移植到其他IDE。 借助Maven并使用maven-ejb-plugin,IDE可以对其进行自我配置,以提供EJB开发所需的所有工具。

由于以下解释的原因,建议始终使用诸如maven之类的构建工具来管理Java项目。

使用IDE管理Java项目

如果在不使用Build Tools的情况下通过IDE管理Java项目,则不能在另一个IDE中使用该项目,而只能在创建和管理的IDE中对其进行构建。 因此,Java项目将无法在不同的IDE之间移植。 您将必须自己定义所有依赖项,即使是传递性依赖项也将由构建工具自动解决。

使用构建工具管理Java项目

使用构建工具,您将拥有一个Java项目,该项目由构建工具管理,由此构建定义独立于您使用的IDE。 同样,借助构建工具,您的项目的构建也可以自动进行,并可以在没有IDE的构建服务器中使用。 所有IDE和构建服务器都很好地支持构建工具。 所有IDE都可以导入Java项目,并使用特定于构建工具的构建定义对其进行配置。 如果更改构建定义,则只需要更新项目即可。

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

最常见的构建工具是

  • 蚂蚁(如今已过时,但值得一提)
  • Maven的
  • 摇篮

https://ant.apache.org/

https://maven.apache.org/

https://gradle.org/

依赖关系如何在Java中工作?

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

什么是传递依赖?

传递依赖是您的依赖所依赖的依赖。

your_project -> dep_1 -> dep_2 -> dep_3

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

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

有用的链接

有关更多信息,请参见以下链接。

什么是构建工具?

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项目之间的区别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM