我是JEE语言的新手,我在任何地方都找不到答案。有人可以在Eclipse或JBoss Studio上创建项目时告诉我,选择Maven项目或EJB项目有什么区别?感谢您抽出宝贵的时间来回答。
答案 0 :(得分:0)
首先,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项目,则不能在另一个IDE中使用该项目,而只能在创建和管理的IDE中对其进行构建。因此,Java项目将无法在不同的IDE之间移植。您必须自己定义所有依赖项,即使是传递性依赖项,这些依赖项也会由构建工具自动解决。
使用构建工具,您有一个Java项目,该项目由构建工具管理,由此构建定义独立于您使用的IDE。同样,借助构建工具,您的项目的构建也可以自动进行,并可以在没有IDE的构建服务器中使用。所有IDE和构建服务器都很好地支持构建工具。所有IDE都可以导入Java项目,并使用特定于构建工具的构建定义对其进行配置。如果更改构建定义,则只需要更新项目即可。
最常见的构建工具是
Java依赖关系构建了一个非循环图,这意味着仅仅因为您在项目中添加了一个依赖关系,并不意味着您在运行时拥有了所有可用的依赖关系,因为大多数依赖关系本身都具有依赖关系。这种依赖关系称为传递依赖关系。
传递依赖是您的依赖所依赖的依赖。
your_project -> dep_1 -> dep_2 -> dep_3
因此,对于IDE特定的配置,您将必须手动将 dep_1,dep_2和dep_3 添加到IDE特定配置中的依赖项中,因为这不会为您完成。
使用构建工具,只需将依赖项 dep_1 添加到构建定义中,因为 dep_1 会将依赖项定义为 dep_2 其构建定义等。你明白了。
有关更多信息,请参见以下链接。
http://www.lihaoyi.com/post/WhatsinaBuildTool.html
关于构建工具以及为什么要通过IDE特定的配置使用它的内容还有很多,但是对我来说最重要的是IDE之间的可移植性,构建自动化的可能性以及构建定义和IDE的独立性。正在使用。
希望我能概述使用IDE或构建工具管理Java项目之间的区别。