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

镇江专业网站制作网站建设情况总结

镇江专业网站制作,网站建设情况总结,喊别人做的网站不肯给代码,google fonts wordpress最初#xff0c;Make是唯一可用的构建工具。 后来通过GNU Make进行了改进。 但是#xff0c;从那时起#xff0c;我们的需求增加了#xff0c;结果#xff0c;构建工具也不断发展。 JVM生态系统主要由三个构建工具组成#xff1a; 常春藤的 Apache Ant 马文 摇篮 An… 最初Make是唯一可用的构建工具。 后来通过GNU Make进行了改进。 但是从那时起我们的需求增加了结果构建工具也不断发展。 JVM生态系统主要由三个构建工具组成 常春藤的 Apache Ant 马文 摇篮 Ant是“现代”构建工具中的第一个。 在许多方面它类似于Make。 它于2000年发布并在短时间内成为Java项目最受欢迎的构建工具。 它的学习曲线非常低因此任何人都可以在无需任何特殊准备的情况下开始使用它。 它基于过程编程思想。 最初发行后它通过接受插件的功能得到了改进。 主要缺点是将XML作为编写构建脚本的格式。 XML本质上是分层的因此不适合Ant使用的过程编程方法。 Ant的另一个问题是与非常小的项目一起使用时其XML往往变得难以管理。 后来由于必须通过网络进行依赖管理Ant采用了Apache Ivy 。 Ant的主要好处是对构建过程的控制。 Maven于2004年发布。其目标是改善开发人员在使用Ant时面临的一些问题。 Maven继续使用XML作为编写构建规范的格式。 但是结构截然不同。 尽管Ant要求开发人员编写所有导致成功执行某些任务的命令但Maven依赖于约定并提供了可以调用的可用目标目标。 作为附加的可能也是最重要的附加功能Maven引入了通过网络下载依赖项的功能后来由Ant通过Ivy采纳。 这本身就彻底改变了我们交付软件的方式。 但是Maven有其自身的问题。 依赖关系管理不能很好地处理同一库的不同版本之间的冲突Ivy更擅长于此。 XML作为构建配置格式经过严格的结构化和高度标准化。 目标目标的定制很难。 由于Maven主要关注于依赖关系管理因此与在Ant中相比在Maven中编写复杂自定义的构建脚本实际上更加困难。 用XML编写的Maven配置连续又繁琐。 在较大的项目中它可以具有数百行代码而无需实际执行“非凡”的工作。 Maven的主要好处是其生命周期。 只要该项目基于某些标准就可以使用Maven相对轻松地贯穿整个生命周期。 这是以灵活性为代价的。 同时对DSL特定领域语言的兴趣持续增长。 这个想法是让语言被设计用来解决属于特定领域的问题。 在构建的情况下应用DSL的结果之一就是Gradle。 Gradle结合了这两种工具的优点并在它们之上进行了DSL和其他改进。 它具有Ant的功能和灵活性并具有Maven的生命周期和易用性。 最终结果是该工具于2012年发布并在短时间内引起了广泛关注。 例如谷歌采用Gradle作为Android OS的默认构建工具。 Gradle不使用XML。 相反它具有基于Groovy JVM语言之一的自己的DSL。 结果Gradle构建脚本往往比为Ant或Maven编写的脚本更短更清晰。 Gradle的样板代码量要少得多因为它的DSL是为解决特定问题而设计的在软件的整个生命周期中移动软件从编译到静态分析和测试再到打包和部署。 它使用Apache Ivy来满足JAR依赖关系。 摇摇晃晃的努力可以总结为“聚会好灵活性也好”。 代码示例 我们将创建构建脚本这些脚本将进行编译执行静态分析运行单元测试以及最终创建JAR文件。 我们将在所有三个框架AntMaven和Gradle中进行这些操作并比较语法。 通过比较每个任务的代码我们将能够更好地理解差异并就构建工具的选择做出明智的决定。 首先是第一件事。 如果您要自己完成本文中的示例则需要安装Ant Ivy Maven和Gradle 。 请按照这些工具制造商提供的安装说明进行操作。 您可以选择不自己运行示例而完全跳过安装。 代码段应该足以使您了解每种工具的工作原理。 代码存储库https://github.com/vfarcic/JavaBuildTools包含Java代码两个带有相应测试的简单类checkstyle配置以及AntIvyMaven和Gradle配置文件。 让我们从Ant和Ivy开始。 蚂蚁与常春藤 常春藤依赖项需要在ivy.xml文件中指定。 我们的示例非常简单仅需要JUnit和Hamcrest依赖项。 [ ivy.xml ] ivy-module version2.0info organisationorg.apache modulejava-build-tools/dependenciesdependency orgjunit namejunit rev4.11/dependency orgorg.hamcrest namehamcrest-all rev1.3//dependencies /ivy-module 现在我们将创建我们的Ant构建脚本。 它的任务只是编译一个JAR文件。 最终结果是以下build.xml。 [ build.xml ] project xmlns:ivyantlib:org.apache.ivy.ant namejava-build-tools defaultjarproperty namesrc.dir valuesrc/property namebuild.dir valuebuild/property nameclasses.dir value${build.dir}/classes/property namejar.dir value${build.dir}/jar/property namelib.dir valuelib /path idlib.path.idfileset dir${lib.dir} //pathtarget nameresolveivy:retrieve //targettarget namecleandelete dir${build.dir}//targettarget namecompile dependsresolvemkdir dir${classes.dir}/javac srcdir${src.dir} destdir${classes.dir} classpathreflib.path.id//targettarget namejar dependscompilemkdir dir${jar.dir}/jar destfile${jar.dir}/${ant.project.name}.jar basedir${classes.dir}//target/project 首先我们指定几个属性。 从那里开始一项任务接another而至。 我们使用Ivy来解决依赖关系清理编译并最终创建JAR文件。 几乎每个Java项目都需要执行的任务需要大量的配置。 要运行创建JAR文件的Ant任务请执行以下操作。 ant jar 让我们看看Maven将如何执行相同的任务集。 马文 [ pom.xml ] project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.technologyconversations/groupIdartifactIdjava-build-tools/artifactIdpackagingjar/packagingversion1.0/versiondependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/version/dependencydependencygroupIdorg.hamcrest/groupIdartifactIdhamcrest-all/artifactIdversion1.3/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion2.3.2/version/plugin/plugins/build/project 要运行创建JAR文件的Maven目标请执行以下操作。 mvn package 主要区别在于使用Maven我们不需要指定应该做什么。 我们不是在创建任务而是在设置参数依赖项是什么要使用哪些插件……。 这显示了Ant和Maven之间的主要区别。 后来提倡使用约定并提供现成的目标目标。 随着时间的流逝Ant和Maven XML文件都会变得越来越大。 为了说明这一点我们将添加Maven CheckStyleFindBugs和PMD插件这些插件将负责静态分析。 这三个都是相当标准的工具在许多Java项目中都以一种或另一种形式使用。 我们希望将所有静态分析作为单个目标的一部分与单元测试一起进行验证 。 此外我们应指定自定义checkstyle配置的路径并确保其在出错时失败。 其他Maven代码如下 [ pom.xml ] plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-checkstyle-plugin/artifactIdversion2.12.1/versionexecutionsexecutionconfigurationconfigLocationconfig/checkstyle/checkstyle.xml/configLocationconsoleOutputtrue/consoleOutputfailsOnErrortrue/failsOnError/configurationgoalsgoalcheck/goal/goals/execution/executions /plugin plugingroupIdorg.codehaus.mojo/groupIdartifactIdfindbugs-maven-plugin/artifactIdversion2.5.4/versionexecutionsexecutiongoalsgoalcheck/goal/goals/execution/executions /plugin plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-pmd-plugin/artifactIdversion3.1/versionexecutionsexecutiongoalsgoalcheck/goal/goals/execution/executions /plugin 要运行使用CheckStyleFindBugs和PMD运行单元测试和静态分析的Maven目标请执行以下命令。 mvn verify 我们必须编写许多XML这些XML可以完成一些非常基本且常用的任务集。 在具有更多依赖项和任务的真实项目中Maven pom.xml文件可以轻松到达数百甚至数千行XML。 这是Gradle中的外观。 摇篮 [ build.gradle ] apply plugin: java apply plugin: checkstyle apply plugin: findbugs apply plugin: pmdversion 1.0repositories {mavenCentral() }dependencies {testCompile group: junit, name: junit, version: 4.11testCompile group: org.hamcrest, name: hamcrest-all, version: 1.3 } Gradle代码不仅比Maven短得多而且对熟悉Gradle的人来说比Maven更容易理解而且实际上引入了许多有用的任务而这些正是我们刚刚编写的Maven代码所没有的。 要获取Gradle可以使用当前配置运行的所有任务的列表请执行以下操作。 gradle tasks --all清晰度复杂性和学习曲线 对于新手来说Ant是所有工具中最清晰的工具。 只需阅读配置XML就可以了解它的作用。 但是编写Ant任务很容易变得非常复杂。 Maven特别是Gradle具有许多现成可用的或通过插件提供的任务。 例如通过看下面的一行对于那些不了解Gradle之谜的人来说可能不清楚哪些任务将被解锁以供我们使用。 [build.gradle] apply plugin: java 这行简单的代码添加了20多个任务等待我们使用。 在我看来Ant的可读性和Maven的简单性是错误的论点它们仅在短暂的最初Gradle学习曲线中适用。 一旦使用了Gradle DSL它的语法就会比Ant或Maven使用的语法更短更容易理解。 而且只有Gradle提供约定和命令创建。 尽管可以用Ant任务扩展Maven但它很乏味且效率不高。 Groovy的Gradle将其提升到一个新的水平。 下一篇文章将更深入地介绍Gradle并更详细地说明其与Groovy的集成。 翻译自: https://www.javacodegeeks.com/2014/06/java-build-tools-ant-vs-maven-vs-gradle.html
http://www.pierceye.com/news/158504/

相关文章:

  • 网站制作网页做简单的网站首页
  • 怎样做网站上的语种链接泰安网络犯罪案件
  • soap公司网站建设国家游戏网站
  • 网站可以用什么做安阳区号是什么
  • 网站建设实战李静如何建设网站的能力
  • 威海 网站开发做家具的网站有哪些
  • 宁波网站建设公司怎么报价网页打开速度慢的解决方法
  • 有趣的网站有哪些推荐关键词没有排名的网站怎么做
  • 昆山网站制作哪家强海淀区企业网络公司
  • 北京网站制建设公司永兴县网站建设服务商
  • 嘉兴做网站优化公司江阴网站优化公司
  • dz可以做旅游网站吗wordpress 4.1.1 漏洞
  • 谷歌网站地图生成福州便民网免费发布信息
  • 最新军事战争新闻超级优化大师
  • 好的网站建设公司排名网站建设 交易保障
  • 怎么查看网站外链效果代理注册公司有什么风险
  • 西安网站漏洞免费自动生成小程序
  • 怎么修改网站信息同ip网站做301
  • 松江品划网络做网站logo设计网页
  • 重庆博达建设集团股份有限公司网站徐州建设企业网站
  • 有没有专门做老年婚介的网站东营会计信息网官网
  • 鞍山怎么做平台软件汕头网站时优化
  • 邹城建网站深圳装修公司排行榜
  • 泊头网站优化WordPress如何添加cnzz
  • dz论坛网站创建页面wap网站建设方案 pdf
  • 网站建设项目报告总结报告seo关于网站搜索排名关键词的标准评定
  • 东莞电商网站建设wordpress注册验证邮箱
  • 网站建设名中国建设劳动学会是假网站吗
  • 一个优秀的个人网站百度极速版免费下载安装
  • 咋做211校徽加网站wordpress免费教程视频教程