真正释放Maven和Java EE的强大功能

如果野心和愿景太复杂而无法使用,那么它们可能会毁灭伟大的解决方案。 尽管MavenJava EE是在整个Java行业中都已建立的良好技术,但是使用它们并使用其作者希望您使用的所有技术和模式来设计项目可能非常棘手。

在开发过程中途,由于一开始就已潜入其体系结构的缺陷,不需要重新建立应用程序的频率有多高? 从一开始就花了多少时间来绘制和映射应用程序中工件之间的关系,只是为了逐渐忘记所有那些计划和设计,而是逐渐出现无法解决的意大利面条代码混乱?

这里是正确的工具必不可少的地方,当查看与Maven和Java EE相关的所有可用工具时,可以看出,特别是NetBeans IDE已被创建为“以Maven为中心”和“ Java EE”。中心”。 这意味着NetBeans IDE不会简单地“支持Maven”和“支持Java EE”。 不,NetBeans IDE已经围绕Maven和Java EE的作者始终牢记要使用的思想和体系结构进行了多年开发。

马文

解锁Maven的关键是要认识到NetBeans IDE本身(即“开箱即用”)可以理解定义所有Maven项目共有的项目结构的POM文件。 Maven的独特之处在于它标准化了项目结构,从而使NetBeans IDE可以原生提供标准化的工具来支持那些项目结构。

想象一下,有一种工具可以自然地理解Maven POM文件。 您应该对这种工具有什么假设?

您应该能够假设以下一项或多项:

  1. 无需导入过程即可将Maven项目转换为所讨论工具固有的某种内部结构。
  2. 适用于任何其他类型的应用程序的“打开项目”命令应以与Maven完全相同的方式工作,即,您假定能够浏览到包含POM的文件夹,然后该工具应该能够打开Maven项目并在工具中以某种方式对其进行可视化。 Maven项目的可视化应该很有帮助且合乎逻辑,例如,使您能够轻松查看所有入口点。
  3. 该工具应该能够将其项目级命令与POM中定义的目标集成在一起,这样,当您调用“构建项目”命令时,便可以将该命令映射到特定于项目的Maven目标,例如“ mvn install”。
  4. 该工具中运行的Maven命令应以与命令行相同的方式运行和运行,同时产生与连续构建服务器(如Jenkins)所提供的输出相同的输出。
  5. 应该以某种方式可视化Maven依赖项,以便可以以某种可重新配置和可定制的图集查看它们相互关联的连接。

上面的每个假设都是在NetBeans IDE中实现的。

不需要任何类型的导入过程即可将Maven项目导入NetBeans IDE。 无需安装插件。 无需配置。 只需转到文件| 打开Project(Ctrl-Shift-O)并浏览到包含POM的任何文件夹,例如开源多模块JAnnocessor框架 正如您在此处看到的那样,IDE可以识别项目,而您不必做任何事情来“说服” IDE该项目应该可以打开,即IDE可以自动识别该项目,因为您在ve浏览到具有POM文件。 单击下面的“打开项目”,IDE将在“项目”窗口中打开并可视化该项目。

真正释放Maven和Java EE的强大功能

同样,您可以使用IDE的Git工具,这些工具也已经集成到IDE中,不需要任何插件或配置:

真正释放Maven和Java EE的强大功能

例如,只需指向Arquillian负责人Aslak Knutsen的新Simple Arquillian HelloWorld Example项目 ,如下所示……

真正释放Maven和Java EE的强大功能

…而且,在Git流程结束时,您将自动在IDE中打开Maven项目,而无需执行任何操作,因为IDE可以理解POM文件并在基于IDE的基础上协调地组织Maven项目。在解析POM文件时:

真正释放Maven和Java EE的强大功能

如果Maven项目包含Java EE RESTful Web服务,则IDE会将服务可视化为应用程序的入口点,如下所示:

真正释放Maven和Java EE的强大功能

与其他IDE和工具一样,IDE使您可以运行项目级别的命令,例如“ Build”和“ Run”,如下所示……

真正释放Maven和Java EE的强大功能

......然而,什么时,这些命令调用发生时完全取决于你,即使用Maven项目映射Maven目标项目的命令,项目属性对话框如下图所示:

真正释放Maven和Java EE的强大功能

最后一点是,可以看到POM中的依赖关系,并在可自定义的图表中呈现它们之间的关系,如下所示:

真正释放Maven和Java EE的强大功能

此外,如上图所示,这里有一个“有效”标签,您可以看到多模块项目的POM文件中每个条目的来源,也可以在这里看到:

真正释放Maven和Java EE的强大功能

现在,我们已经探索了Maven与IDE的深度集成,下面我们来看一下Java EE,它通常与Maven结合使用。

Java EE

解锁Java EE的关键是要认识到领导Java EE规范的工程师与开发NetBeans IDE的工程师在同一组织中工作。 最初,Java EE平台背后的主要驱动力是Sun Microsystems,而在过去的几年中,当然已经成为Oracle。 一直以来,NetBeans IDE是Sun Microsystems和Oracle定位为Java平台的官方IDE的开发工具。

想象一下,将由与驱动和开发Java EE平台所在组织相同的组织的工程师来开发工具。 您应该对这种工具有什么假设?

您应该能够假设以下一项或多项:

  1. 在发布Java EE平台的新规范时,也应发布该工具的新版本。 通常,该工具的当前版本应与Java EE平台的当前版本同步。
  2. Java EE平台的官方文档和教程应始终使用该工具作为了解Java EE平台的切入点。
  3. 该工具应该提供开箱即用的功能,而不仅仅是为Java EE平台入门提供一个简单的“ hello world”示例。 更具体地说,该工具应该提供种类繁多的示例,这些示例不仅可以帮助理解Java EE平台的简单基本组件,而且,它还应提供开箱即用的完整场景,这些场景包含了最佳实践和使Java EE平台的新手有信心根据内置示例提供的建议来构建他们的应用程序。
  4. 该工具应易于设置Java EE平台的关键组件。 该工具应该是掌握Java EE平台的中心机制,并且应该以这样的方式进行构造:应通过该工具的模板,代码生成器和键盘快捷键来轻松理解Java EE平台的每个新发行版。应该专门为Java EE平台提供。
  5. Java EE平台周围社区的主要成员应该认识到并推广该工具,因为它是掌握Java EE平台的理想方法。

毫无疑问,以上假设全部在NetBeans IDE中实现。 IDE始终是第一个提供适用于最新版本的Java EE平台的工具和各种相关功能的IDE。

同时,IDE开箱即用,提供了与理解Java EE平台的每个关键组件相关的各种简单示例。 转到文件| 新建项目(Ctrl-Shift-N),您应该自己了解,可用并可以立即使用的大量Java EE示例,旨在帮助您使用Java EE平台的关键组件进行安装和运行:

真正释放Maven和Java EE的强大功能

全面的模板可极大地帮助Java EE平台入门,这些模板可生成Java EE应用程序的较大部分,例如数据库中的所有JPA实体类,或JPA实体类或数据库中的所有JAX-RS RESTful Web服务,如下所示:

真正释放Maven和Java EE的强大功能

与上述内容相关,官方Java EE教程自始至终始终使用NetBeans IDE,它是最适合创建符合Java EE平台规范的应用程序的工具:

真正释放Maven和Java EE的强大功能

在整个Java EE社区中,您会发现领先的爱好者谈论NetBeans IDE,这是学习Java EE的最简单工具。 特别是,可能是最著名的Java EE倡导者Adam Bien(他本人不隶属于他人)不断地使用NetBeans IDE作为他进行所有演示以及自己的企业工作的工具。可以在他的YouTube频道以及他讲话的所有会议中看到。

结论

本文中提出的关键论点不是 NetBeans IDE具有与Maven和Java EE平台良好集成的各种功能。

相反,与该观点形成鲜明对比的是,本文提出的主要论点是NetBeans IDE以“ Maven为中心”和“以Java EE为中心”。 从上面这些术语的含义应该很清楚,既Maven和Java EE的烘烤成什么NetBeans IDE 真正本质,因为它的心跳,并作为其存在的理由

如果您有兴趣真正释放Maven或Java EE的功能,尤其是两者的功能,则应认真评估NetBeans IDE是您选择的主要武器之一,尤其是因为它当然是100%自由开放的资源。

翻译自: https://www.javacodegeeks.com/2015/07/truly-unleashing-the-power-of-maven-and-java-ee.html