当前位置: 首页 > news >正文

辽宁省建设厅网站升级ui设计界面配色

辽宁省建设厅网站升级,ui设计界面配色,wordpress remove_query_arg,国外WordPress主题破解Maven入门介绍篇 1️⃣ 基础概念1.1 构建1.2 maven对构建的支持1.3 Maven的其他作用 2️⃣ 其他构建工具2.1 IDE2.2 Make2.3 Ant2.4 Jenkins 3️⃣ Maven与敏捷开发#x1f33e; 总结 1️⃣ 基础概念 Maven可以翻译为 “知识的积累者” 或 “专家”。这个词源于波… Maven入门介绍篇 1️⃣ 基础概念1.1 构建1.2 maven对构建的支持1.3 Maven的其他作用 2️⃣ 其他构建工具2.1 IDE2.2 Make2.3 Ant2.4 Jenkins 3️⃣ Maven与敏捷开发 总结 1️⃣ 基础概念 Maven可以翻译为 “知识的积累者” 或 “专家”。这个词源于波斯语意为广受尊重和富有智慧的人。在软件开发领域中Maven作为Apache 组织中的一个颇为成功的开源项目它是一个非常流行的构建工具它在项目管理、依赖管理和构建自动化方面提供了强大的功能和支持。因此Maven 被视为软件开发过程中的权威专家能够帮助开发团队更高效地构建和管理项目。 无论是小型的开源类库项目还是大型的企业级应用无论是传统的瀑布式开发还是流行的敏捷模式Maven都能展现其出色的能力。 1.1 构建 其实作为程序员我们每天都在进行构建build工作。上班后的第一件事就是从源代码库中拉取最新的代码并进行单元测试。如果测试失败我们会与同事合作进行调试修复。然后我们继续自己的工作编写单元测试和产品代码。 忙碌到中午代码编写基本完成测试也通过了我们开心地享用午餐并稍作休息。下午开始有些困倦的时候我们参加例会会议结束后喝杯咖啡继续工作。刚才在会议中经理要求查看测试报告于是我们将相关工具集成到IDE中生成漂亮的测试覆盖率报告然后发邮件给经理松了口气。但QA小组又提交了几个bug没办法我们先在本地重现然后熟练地用IDE生成一个WAR包部署到Web容器中启动进行测试。一步步复现问题最后在下班前修复了bug提交代码并通知QA小组愉快地结束了一天的工作。 回想一下除了编写源代码我们每天也花很多时间来进行编译、运行单元测试、生成文档、打包和部署等繁琐的工作也就是构建。如果仍然依赖手工完成这些步骤成本将会非常高。因此有人通过使用软件方法完全自动化这一系列工作使得软件构建像流水线一样自动进行只需简单的一条命令所有繁杂的步骤都能够自动完成很快就能得到最终结果。 1.2 maven对构建的支持 上面就介绍了Maven 的用途之一是服务于构建它是一个强大的构建工具能够帮我们完成自动化构建过程从清理、编译、测试到生成报告再到打包和部署。我们不需要一遍遍地输入命令 我们要做的是使用Maven 配置好项目然后输入简单的命令(如 mvn clean install)Maven 就会帮我们处理那些烦琐的任务。 Maven是一个跨平台的构建工具这意味着不管是在Windows、Linux还是Mac上我们都可以使用相同的命令进行构建。 我们一直在努力寻找避免重复的方法包括设计、编码、文档以及构建的重复。而Maven最大程度地消除了构建过程中的重复性工作。它抽象了构建生命周期并提供了许多已实现的插件来完成大部分构建任务。我们不再需要定义过程甚至不需要实现其中的一些任务。举个简单的例子对于测试来说我们只需要按照Maven的约定编写好测试用例当进行构建时这些测试会自动运行无需告诉Maven如何执行测试。 想象一下Maven抽象了一个完整的构建生命周期模型吸取了其他构建脚本和工具的优点并总结了大量项目的实际需求。如果我们遵循这个模型在很多情况下可以避免许多不必要的错误。此外我们可以直接使用许多成熟的Maven插件来完成任务。 总的来说Maven作为一个构建工具具有自动化构建的能力同时还能够提供抽象的构建过程和已实现的构建任务。它的跨平台特性以及提供一致操作接口的特点使其成为出色且广受欢迎的构建工具。 1.3 Maven的其他作用 图1 Maven的logo Maven不只是一个构建工具还是一个依赖管理及项目信息管理工具它通过提供中央仓库来支撑开发者自动下载组件。 在当今开源的编程时代几乎所有的Java应用都会使用一些第三方的开源类库这些类库可以通过依赖的方式引入到项目中。然而随着依赖的增加就可能会出现版本不一致、版本冲突、依赖臃肿等问题。手动解决这些问题非常繁琐但幸运的是Maven为我们提供了一个优秀的解决方案。通过依赖坐标系统Maven能够精确定位每一个组件比如jar文件使类库世界变得有秩序。借助Maven我们可以有序地管理依赖轻松解决复杂的依赖问题。 此外Maven还帮助我们有效管理项目中分散在各个角落的项目信息包括项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等等。这些微小的变化可能看起来不起眼但却在不知不觉中节省了大量查找信息的时间。除了直接的项目信息Maven还生成网站和提供一些已有插件使我们轻松获得有价值的项目信息比如项目文档、测试报告、静态分析报告、源码版本日志报告等。 另外Maven还为全球的Java开发者提供了一个免费的中央仓库在这个仓库中几乎可以找到任何流行的开源类库。通过一些衍生工具如Nexus我们甚至可以快速搜索中央仓库。只要提供坐标Maven就能自动下载所需的文件省去了手工操作的麻烦。 最后使用Maven还能享受一个额外的好处即Maven为项目提供了规范的目录结构、测试用例命名方式等。只要按照这些成熟的规则进行开发切换项目时无需额外学习符合约定优于配置的原则。 2️⃣ 其他构建工具 Maven 不是Java 领域唯一的构建管理的解决方案。本节将通过一些简单的例子解释Maven的必要性并介绍其他构建解决方案如IDE、Make 和 Ant, 并将它们与 Maven 进行比较。 2.1 IDE 我们不能否认优秀的集成开发环境IDE可以极大地提高开发效率。主流的IDE如Eclipse和NetBeans等提供了强大的文本编辑、调试和重构功能。尽管使用简单的文本编辑器和命令行也可以完成大部分开发工作但很少有人愿意这样做。然而IDE却存在一些缺陷 IDE依赖繁琐的手工操作。编译、测试、代码生成等任务相互独立很难通过一键操作来完成所有工作手动操作效率低下在项目中统一所有的 IDE配置是很困难的。每个开发者都有自己的配置偏好正是由于这个原因一个在A机器上成功运行的任务在B机器上的 IDE中可能会失败。 因此我们应该合理利用IDE而不是过度依赖它。对于构建这类任务反复点击鼠标在 IDE中操作是不够智能的行为。Maven是在这方面专业的工具并且主流的 IDE已经集成了Maven因此我们可以在 IDE中方便地运行Maven进行构建操作。 2.2 Make Make可能是最早的构建工具由Stuart Feldman于1977年在贝尔实验室创建。由于这个贡献他在2003年获得了ACM国际计算机组织颁发的软件系统奖。目前Make有许多衍生实现包括最流行的GNU Make和BSD Make还有Windows平台上的Microsoft nmake等。 Make由一个名为 Makefile的脚本文件驱动该文件使用Make定义的自己的语法格式。它的基本组成部分包括一系列规则Rules每条规则包括目标Target、依赖Prerequisite和命令Command。Makefile的基本结构如下 target: prerequisitecommandMake通过一系列目标和依赖将整个构建过程串联起来并利用本地命令完成每个目标的实际操作。它的强大之处在于可以利用各种系统的本地命令尤其是UNIX/Linux系统这些功能丰富且强大的命令能够帮助 Make快速高效地完成任务。 然而Make也存在一些限制它将自己与操作系统绑定在了一起。换句话说使用Make很难至少较为困难实现跨平台构建对于Java来说这非常不友好。此外Makefile的语法也经常成为问题很多人抱怨 Make构建失败的原因往往是由于难以察觉的空格或制表符Tab使用错误导致的。 2.3 Ant AntAnother Neat Tool是一个构建工具最初用于构建著名的 Tomcat 服务器。它的创作动机源于James Duncan Davidson 对 Makefile语法格式的不满。我们可以将Ant 视为Java版本的 Make正因为使用了JavaAnt是跨平台的。此外Ant使用XML来定义构建脚本相对于Makefile来说更加友好。 类似于MakeAnt 也有一个构建脚本 build.xml示例如下 ?xml version1.0? project nameHello defaultcompiletarget namecompile descriptioncompile the Java source code to class filesmkdir dirclasses/javac srcdir. destdirclasses//targettarget namejar dependscompile descriptioncreate a Jar filejar destfilehello,jarfileset dirclasses includes**/s.class/manifestattribute nameMain-Class valueHelloProgram//manifest/jar/target /projectbuild.xml 的基本结构包括目标target、依赖depends以及实现目标的任务。例如在上述脚本中jar目标用于创建应用程序的 jar文件该目标依赖于compile目标。compile目标执行的任务是在当前目录编译Java文件并将其输出到一个名为classes的文件夹中。当compile目标完成后jar目标接着执行自己的任务。 Ant内置了大量用Java实现的任务这确保了它的跨平台特性。此外Ant 还提供了特殊的exec任务用于执行本地命令。 和Make 一样Ant 也都是过程式的开发者显式地指定每一个目标以及完成该目标所需要执行的任务。针对每一个项目开发者都需要重新编写这一过程这里其实隐含着很大的重复行为。 而Maven 是声明式的项目构建过程和过程各个阶段所需的工作都由插件实现 并且大部分插件都是现成的开发者只需要声明项目的基本元素 Maven 就执行内置的、 完整的构建过程这在很大程度上减少了重复性。 在过去的一段时间里Ant 没有提供依赖管理功能这意味着Ant用户不得不手动管理依赖关系这是一个很麻烦的问题。幸运的是现在Ant用户可以使用Ivy来管理依赖关系。对于Maven用户来说依赖管理是最基本的因为Maven内置了强大的依赖管理功能。此外Maven还拥有一个中央仓库可能是全世界最大的Java开源软件包集合因此Maven用户无需进行任何配置即可直接享受依赖管理的好处。 2.4 Jenkins 图2 Jenkins的logo Jenkins是一个开源的自动化工具用于构建、测试和部署软件项目。它提供了一种简单且可扩展的方式来设置和管理软件交付流程。 相比于MavenJenkins更加强大且灵活。通过使用Jenkins你可以在软件开发过程中自动化执行各种任务和工作流程并监视其执行情况。下面是一些Jenkins的核心功能 自动化构建和持续集成Jenkins允许你在代码提交后自动触发构建过程并检查代码质量、运行单元测试等。这有助于减少手动操作和加快构建发布周期。 插件生态系统Jenkins拥有丰富的插件生态系统使你可以轻松地扩展其功能。这些插件包括与其他工具的集成、生成报告、发送通知等。例如你可以使用Maven插件将Maven生成的结果集成到Jenkins中并展示。 流水线管理Jenkins支持基于流水线的软件交付流程定义和管理。使用Jenkins Pipeline插件你可以以可编程的方式定义整个交付流程包括构建、测试、部署和回滚等步骤。 可视化报告Jenkins能够将各个阶段的结果以图表的形式展示出来包括构建情况、测试覆盖率、代码质量等。这使得开发人员和项目经理可以更方便地查看和分析项目的状态和趋势。 通过Jenkins你可以实现更高效的软件交付过程并为团队提供实时可视化的项目状态信息。它提供了一个集中化的平台以管理和执行各种工作流程节省了配置和维护不同工具之间的复杂性。 本专栏主要介绍Maven那么对于同样重要的 Jenkins技术后续我会专门做一个专栏做更详细的知识介绍请大家持续关注。 3️⃣ Maven与敏捷开发 首先需要了解敏捷开发Agile Development是一种软件开发方法理论旨在通过迭代、协作和灵活性来应对变化的需求。它强调快速响应变更、频繁交付可工作的软件以及与客户紧密合作等核心原则。 而极限编程Extreme Programming则是敏捷开发中一种具体的实践方法之一其目标是提供高质量的软件解决方案并通过团队合作和持续反馈来增加生产效率。极限编程强调快速迭代、自动化测试、简单设计、持续集成以及面向人员的价值观等重要实践。 下面看一下 Maven 是如何适应极限编程的。 简单性。Maven 暴露了一组一致且简洁的操作接口能帮助团队成员从原来高度自定义的、复杂的构建系统中解脱出来使用Maven 现有的成熟稳定的组件也能简化构建系统的复杂度交流与反馈。与版本控制系统结合后所有人都能执行最新的构建并快速得到反馈。此外自动生成的项目报告也能帮助成员了解项目的状态促进团队的交流测试驱动开发 (TDD)。TDD 强调测试先行所有产品都应该由测试用例覆盖。而测试是Maven 生命周期的最重要的组成部分之一并且 Maven 有现成的成熟插件支持 业界流行的测试框架如 JUnit 和 TestNG快速构建。快速构建强调我们能够随时快速地从源码构建出最终的产品。这正是Maven 所擅长的只需要一些配置之后用一条简单的命令就能让 Maven 帮你清理、编译、测试、打包、部署然后得到最终的产品持续集成 (CI) 。CI 强调项目以很短的周期(如15分钟)集成最新的代码。实际上 CI 的前提是源码管理系统和构建系统。流行的CI 服务器如 Hudson 和 CruiseControl 都能很好地和 Maven 进行集成。也就是说使用Maven 后持续集成会变得更加方便富有信息的工作区。强调开发者能够快速方便地了解到项目的最新状态。 当然 Maven 并不会帮你把测试覆盖率报告贴到墙上也不会在你的工作台上放个鸭子告诉你构建失败了。不过使用Maven 发布的项目报告站点并配置你需要的项目报告如测试覆盖率报告都能帮你把信息推送到开发者眼前。 上述这些实践并非只在极限编程中适用。事实上除了其他敏捷开发方法如 SCRUM 之外几乎任何软件开发方法都能借鉴这些实践。也就是说 Maven 几乎能够很好地支持任何软件开发方法。 例如在传统的瀑布模型开发中项目依次要经历需求开发、分析、设计、编码、测试和集成发布阶段。从设计和编码阶段开始就可以使用 Maven 来建立项目的构建系统。 在设计阶段也完全可以针对设计开发测试用例然后再编写代码来满足这些测试用例。 然而有了自动化构建系统我们可以节省很多手动的测试时间。此外尽早地使用构建系统集成团队的代码对项目也是百利而无一害。最后 Maven 还能帮助我们快速地发布项目。 总结 本文从概念上简单地介绍了一下Maven, 通过本章我们应该能大致了解Maven 是什么以及它有什么用途。我们还将Maven 与其他流行的构建工具(如Make 和 Ant等) 做了一些对比分析。如果你没用过Maven, 但有Make 或者 Ant 的使用经验相信通过比较你能更清楚地了解各种工具的优劣势并且会对Maven 有一个理性的认识。 将 Maven 和敏捷开发与极限编程结合起来分析是为了让大家从另 一个角度了解Maven, 毕竞软件开发离不开对于软件过程的理解。希望大家积极理解 Maven并从中受益。 ⏩ 继续阅读下一篇点击跳转 《》
http://www.tj-hxxt.cn/news/142357.html

相关文章:

  • 免费如何创建网站平台厦门市海沧区建设局网站
  • 暖色调 网站广州软件开发杰迅科技
  • 加强网站硬件建设方案上海包装设计公司排名
  • 屏蔽阿里云网站吗网站制作费用低
  • 北京网站优化seo济宁网站建设吊装
  • 地方志网站建设自查报告网站欢迎屏怎么做
  • 上海网站建设服务教做软件的网站
  • 整站优化系统厂家专业做物流公司网站
  • 长春网站设计团队网站设计下载
  • 做神马网站七台河北京网站建设
  • 广东专业网站定制wordpress插件搬家
  • 自己的网站怎么建立汕头网站建设工作
  • 加强网站政务服务建设方案做网站是怎么挣钱的
  • 个人静态网页制作爱站工具seo综合查询
  • pc网站和手机网站怎样做直播网站
  • 做网站傻瓜软件做网站竞争大吗
  • 网站建设合同报价单 模板下载电脑上做简单的网站
  • 网站开发到发布掌握cms建设网站实训报告
  • 如何做好网站内链代码做网站常用单词
  • 江阴做网站的如何制作个人作品网站
  • 企业网站流程图网站建设流程详解
  • 网站设计模板源码做网站开发要多久
  • 网站什么也没动怎么不收录啦如何做情趣网站
  • 网站制作运营公司商城网站建设哪家最好
  • 网站设计广州河池seo快速排名
  • 建设企业网站需要什么wordpress建站流程
  • 大连做网站哪家公司好中山建网站公司
  • 如何建一个自己的网站dedecms 倒计时 天数 网站首页
  • 滨州做网站的科技公司网站随机代码
  • 做网站找个人深圳企业登记注册