如果野心和愿景太复杂而无法使用,那么它们可能会毁灭伟大的解决方案。 尽管Maven和Java 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将在“项目”窗口中打开并可视化该项目。

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

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

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

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

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

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

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

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

现在,我们已经探索了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平台的关键组件进行安装和运行:

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

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

  • 本教程的位置: http : //docs.oracle.com/javaee/7/tutorial/

在整个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

真正释放Maven和Java EE的强大功能相关推荐

  1. java ee maven_真正释放Maven和Java EE的强大功能

    java ee maven 如果野心和愿景太复杂而无法使用,则它们可能会淘汰伟大的解决方案. 尽管Maven和Java EE是在整个Java行业中都已建立的良好技术,但是使用它们并使用其作者打算使用的 ...

  2. Java Web学习总结(41)——Java EE 8 新功能展望

    Java EE 7简介 Java EE 作为一个企业应用的部署平台,具有很好的健壮性.能够提供强大的 Web 服务且非常易于部署.这些年来,通过其不断发展,它已大大简化了以服务器为中心的应用程序的开发 ...

  3. Java的这个强大功能,很多人都不知道

    摘要:大多数框架采用单一的语言所开发.JNI这项Java中提供的强大功能,却逐渐的被人遗忘了. 本文分享自华为云社区<Java中一个逐渐被遗忘的强大功能,强到你难以置信!!>,作者:冰 河 ...

  4. java ee maven_针对新手的Java EE7和Maven项目–第1部分–简单的Maven项目结构–父pom...

    java ee maven 为什么呢 很多时候,我在日常工作中试图解决一些基本或复杂的Maven / Java EE项目结构问题. 为了提供解决方案,我经常最终会尝试项目结构,测试我在不同应用程序服务 ...

  5. Java EE,Docker和Maven(技术提示#89)

    Java EE应用程序通常使用Maven构建和打包. 例如, github.com/javaee-samples/javaee7-docker-maven是一个普通的Java EE 7应用程序,它显示 ...

  6. Bert Ertman专访:将Spring及遗留应用迁移到Java EE 6平台

    本文来源于我在InfoQ中文站的采访文章,原文地址是:http://www.infoq.com/cn/articles/migrate-spring-legacy-to-javaee6 InfoQ:你 ...

  7. 改名之后的Java EE,现在有什么新进展?

    Jakarta EE正在为企业版Java开辟新的道路.在这篇文章中,Cesar Saavedra将解释为什么说Jakarta EE为企业版Java带来了新鲜的空气. \\ 首先,作为一名具有30年经验 ...

  8. maven和docker_Java EE,Docker和Maven(技术提示#89)

    maven和docker Java EE应用程序通常使用Maven构建和打包. 例如, github.com/javaee-samples/javaee7-docker-maven是一个琐碎的Java ...

  9. java ee打印功能_Java EE:异步构造和功能

    java ee打印功能 介绍 Java EE具有许多API和构造以支持异步执行. 从可伸缩性和性能的角度来看,这是至关重要的. 让我们假设2个模块相互交互. 当模块A (发送方)以同步方式向模块B ( ...

最新文章

  1. LaTex中编辑公式的上下角标出现的问题---允许{}的嵌套吗?
  2. 从粗放到精细,如何用AI技术实现信息流广告投放的降本增效
  3. Python_017 GUI编程
  4. 非空约束对数据更新的影响
  5. 支持分布式数据库同步操作的一个设计点:主键问题
  6. 初尝微信小程序2-基本框架
  7. nmap入门之主机发现
  8. C语言,为什么动态内存分配申请后,还要再释放?
  9. JavaScript学习笔记 -- ES6学习(三) 变量的解构赋值
  10. 2015 多校联赛 ——HDU5344(水)
  11. .Net Log4Net配置多文件日志记录
  12. ARMv7的OP-TEE源代码的获取和编译
  13. 修改用户密码命令linux,linux下passwd命令设置修改用户密码 - Alanf - 博客园
  14. 计算机应用基础课程考试卷,计算机应用基础考试卷C
  15. iOS 的 APP 在系统中如何适应 iPhone 5s/6/6 Plus 三种屏幕的尺寸?
  16. Mybatis的模糊查询写法
  17. 【论文】联邦学习区块链 论文集(一)
  18. 三天打鱼,两天晒网问题
  19. Java 面试/笔试题神整理 [Java web and android]
  20. C51单片机 1602显示一排方块的问题

热门文章

  1. mysql添加新用户
  2. C++描述杭电OJ 2009.求数列的和 ||
  3. 20级:班级日常分享,一天一瞬间
  4. PL/SQL编程基本概念
  5. 手把手教会你(单/多)文件上传(并修改文件默认的最大最小值)
  6. 前端wxml取后台js变量值_这些鲜为人知的前端冷知识,你都GET了吗?
  7. micrometer_具有InlfuxDB的Spring Boot和Micrometer第3部分:Servlet和JDBC
  8. javafx 调用java_Java,JavaFX的流畅设计风格滑块
  9. 光盘 机密_使用保险柜管理机密
  10. JVM垃圾收集和优化