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

做音乐网站需要版权么江苏省城乡建设局网站首页

做音乐网站需要版权么,江苏省城乡建设局网站首页,如何制作ppt视频教程,有没有傻瓜式建设网站一、简介 1. Maven#xff1a; 基于 Java 平台的项目管理和整合工具#xff0c;将项目的开发和管理过程抽象成一个项目对象模型#xff08;POM#xff09;。开发人员只需要做一些简单的配置#xff0c;Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。…一、简介 1. Maven 基于 Java 平台的项目管理和整合工具将项目的开发和管理过程抽象成一个项目对象模型POM。开发人员只需要做一些简单的配置Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。具有跨平台性。 2. 特点 设置简单。所有项目的用法一致。可以管理和自动进行更新依赖。庞大且不断增长的资源库。可扩展使用 Java 或脚本语言可以轻松的编写插件。几乎无需额外配置即可立即访问新功能。基于模型的构建Maven 能够将任意数量的项目构建为预定义的输出类型例如 JARWAR。项目信息采取集中式的元数据管理使用与构建过程相同的元数据Maven 能够生成一个网站site和一个包含完整文档的 PDF。发布管理和发行发布Maven 可以与源代码控制系统例如 Git、SVN集成并管理项目的发布。向后兼容性您可以轻松地将项目从旧版本的 Maven 移植到更高版本的 Maven 中。并行构建它能够分析项目依赖关系并行构建工作使用此功能可以将性能提高 20%-50。更好的错误和完整性报告Maven 使用了较为完善的错误报告机制它提供了指向 Maven Wiki 页面的链接您将在其中获得有关错误的完整描述。 3.默认项目结构 文件目录Java 源代码src/main/java资源文件src/main/resources 测试源代码src/test/java 测试资源文件src/test/resources打包输出文件target编译输出文件target/classes 二、POM  1. POMProject Object Model项目对象模型是 Maven 的基本组件它是以 xml 文件的形式存放在项目的根目录下名称为 pom.xml。 2. POM 中定义了项目的基本信息用于描述项目如何构建、声明项目依赖等等。 3. 当 Maven 执行一个任务时它会先查找当前项目的 POM 文件读取所需的配置信息然后执行任务。在 POM 中可以设置如下配置 项目依赖 插件 目标 构建时的配置文件 版本  开发者 邮件列表 4. 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.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdnet.biancheng.www/groupIdartifactIdmaven/artifactIdversion0.0.1-SNAPSHOT/version /project 在创建 POM 之前首先要确定工程组groupId及其名称artifactId和版本在仓库中这些属性是项目的唯一标识。 所有的 Maven 项目都有一个 POM 文件所有的 POM 文件都必须有 project 元素和 3 个必填字段groupId、artifactId 以及 version。 节点描述groupId项目组 ID定义当前 Maven 项目隶属的组织或公司通常是唯一的。它的取值一般是项目所属公司或组织的网址或 URL 的反写例如 net.biancheng.www。artifactId项目 ID通常是项目的名称。groupId 和 artifactId 一起定义了项目在仓库中的位置。version项目版本。 3. 所有的 POM 均继承自一个父 POM这个父 POM 被称为 Super POM它包含了一些可以被继承的默认设置。 5. Maven坐标 为什么引入坐标在 Maven 中任何一个依赖、插件或者项目构建的输出都可以称为构件。在 Maven 世界中存在着众多构件在引入坐标概念之前当用户需要使用某个构件时只能去对应的网站寻找使得用户将大量的时间浪费在搜索和寻找上严重地影响了研发效率。为了解决这个问题于是 Maven 引入了 Maven 坐标的概念。 规定世界上任何一个构件都可以使用 Maven 坐标并作为其唯一标识该坐标定义了构件在仓库中的唯一存储路径。Maven 坐标包括 groupId、artifactId、version、packaging 等元素只要用户提供了正确的坐标元素Maven 就能找到对应的构件。groupId、artifactId 和 version 是必须定义的packaging 是可选的。 groupId 项目组 ID定义当前 Maven 项目隶属的组织或公司通常是唯一的。它的取值一般是项目所属公司或组织的网址或 URL 的反写例如 net.biancheng.www。 artifactId 项目 ID通常是项目的名称。 version版本。 packaging项目的打包方式默认值为 jar project groupIdnet.biancheng.www/groupIdartifactIdhelloMaven/artifactIdpackagingjar/packagingversion1.0-SNAPSHOT/version /project 6. Maven依赖 如果一个 Maven 构建所产生的构件例如 Jar 文件被其他项目引用那么该构件就是其他项目的依赖。 Maven 坐标是依赖的前提所有 Maven 项目必须明确定义自己的坐标 当 Maven 项目需要声明某一个依赖时通常只需要在其 POM 中配置该依赖的坐标信息Maven 会根据坐标自动将依赖下载到项目中。 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ...dependenciesdependencygroupIdjavax.servlet/groupIdartifactIdservlet-api/artifactIdversion2.5/versionscopeprovided/scope/dependency/dependencies /project dependencies 元素可以包含一个或者多个 dependency 子元素用以声明一个或者多个项目依赖每个依赖都可以包含以下元素 groupId、artifactId 和 version依赖的基本坐标对于任何一个依赖来说基本坐标是最重要的Maven 根据坐标才能找到需要的依赖。 type依赖的类型对应于项目坐标定义的 packaging。大部分情况下该元素不必声明其默认值是 jar。 scope依赖的范围。 optional标记依赖是否可选。 exclusions用来排除传递性依赖。 大部分依赖声明只包含 groupId、artifactId 和 version 三个元素至于 scope、optional 以及 exclusions 等元素了解即可 获取依赖坐标https://mvnrepository.com/  搜索、复制 导入本地jar包Maven导入本地jar包 某一个项目需要依赖于存储在本地的某个 jar 包该 jar 包无法从任何仓库中下载的这种依赖被称为外部依赖或本地依赖。         在pom.xml中添加dependency !--外部依赖--dependencygroupIdnet.biancheng.www/groupIdartifactIdhelloMaven/artifactId!--依赖范围--scopesystem/scopeversion1.0-SNAPSHOT/version!--依赖所在位置--systemPathD:\maven\helloMaven\target\helloMaven-1.0-SNAPSHOT.jar/systemPath/dependency scope 表示依赖范围这里取值必须是 system即系统。systemPath 表示依赖的本地构件的位置。 三、Maven仓库 仓库统一存放依赖和插件的地方。 当 Maven 项目需要某些构件时只要其 POM 文件中声明了这些构件的坐标Maven 就会根据这些坐标找自动到仓库中找到并使用它们。 Maven 仓库可以分为 2 个大类本地仓库和远程仓库中央仓库、私服、其他公共仓库 当 Maven 根据坐标寻找构件时它会首先查看本地仓库若本地仓库存在此构件则直接使用         若本地仓库不存在此构件Maven 就会优先去远程仓库中的中央仓库查找再查找其他远程仓库如果设置其他远程仓库若发现所需的构件后则下载到本地仓库使用         如果本地仓库和远程仓库都没有所需的构件则 Maven 就会停止处理并抛出错误。 远程仓库还可以分为 3 个小类中央仓库、私服、其他公共仓库 中央仓库是由 Maven 社区提供的一种特殊的远程仓库它包含了绝大多数流行的开源构件。在默认情况下当本地仓库没有 Maven 所需的构件时会首先尝试从中央仓库下载。 私服是一种特殊的远程仓库它通常设立在局域网内用来代理所有外部的远程仓库。它的好处是可以节省带宽比外部的远程仓库更加稳定。  除了中央仓库和私服外还有很多其他公共仓库例如 JBoss Maven 库Java.net Maven 库等等。 1. 本地仓库 本地仓库实际上就是本地计算机上的一个目录文件夹它会在第一次执行 Maven 命令时被创建当 Maven 项目第一次进行构建时会自动从远程仓库搜索依赖项并将其下载到本地仓库中。 构件只有储存在本地仓库中才能被其他的 Maven 项目使用。构件想要进入本地仓库除了从远程仓库下载到本地仓库外还可以使用命令 mvn install 将本地项目的输出构件安装到本地仓库中。 2. 中央仓库 包含绝大多数流行的开源构件由 Maven 社区管理不需要配置需要通过网络才能访问 http://search.maven.org/#browse 3. 远程仓库 由开发人员自己定制的仓库 4. 私服 特殊的远程仓库它是架设在局域网内的仓库服务用来代理位于外部的远程仓库中央仓库、其他远程公共仓库。 建立私服后Maven 依赖搜索顺序本地仓库——私服(下载到本地仓库)——外部的远程仓库(下载并缓存到 Maven 私服)——报错。 一些无法从外部仓库下载到的构件也能从本地上传到私服供其他人使用。 私服的优势节省外网带宽、下载速度更快、便于部署第三方构件、提高项目的稳定性增强对项目的控制、降低中央仓库得负荷压力。 私服的搭建使用Maven仓库管理器Apache Archiva、JFrog Artifactory、Sonatype Nexus。 四、Maven生命周期 1. 使用Maven构建项目就是执行lifecycle执行到指定的phase为止。每个phase会执行自己默认的一个或多个goal。goal是最小任务单元。 2. Maven的生命周期由一系列阶段phase构成Maven 拥有三套标准的生命周期三套生命周期本身是相互独立 default用于构建项目clean用于清理项目site用于建立项目站点 2.1 内置的生命周期default包含以下phase 阶段描述validate验证项目是否正确以及所有必要信息是否可用。initialize初始化构建状态。generate-sources生成编译阶段需要的所有源码文件。process-sources处理源码文件例如过滤某些值。generate-resources生成项目打包阶段需要的资源文件。process-resources处理资源文件并复制到输出目录为打包阶段做准备。compile编译源代码并移动到输出目录。process-classes处理编译生成的字节码文件generate-test-sources生成编译阶段需要的测试源代码。process-test-sources处理测试资源并复制到测试输出目录。test-compile编译测试源代码并移动到测试输出目录中。test使用适当的单元测试框架例如 JUnit运行测试。prepare-package在真正打包之前执行一些必要的操作。package获取编译后的代码并按照可发布的格式进行打包例如 JAR、WAR 或者 EAR 文件。pre-integration-test在集成测试执行之前执行所需的操作例如设置环境变量。integration-test处理和部署所需的包到集成测试能够运行的环境中。post-integration-test在集成测试被执行后执行必要的操作例如清理环境。verify对集成测试的结果进行检查以保证质量达标。install安装打包的项目到本地仓库以供其他项目使用。deploy拷贝最终的包文件到远程仓库中以共享给其他开发人员和项目。 如果我们运行mvn packageMaven就会执行default生命周期它会从开始一直运行到package这个phase为止 2.2 Maven另一个常用的生命周期是clean它会执行3个phase pre-clean  清理前clean         清理注意这个clean不是lifecycle而是phasepost-clean  清理后 更复杂的例子是指定多个phase例如运行mvn clean packageMaven先执行clean生命周期并运行到clean这个phase然后执行default生命周期并运行到package这个phase。  2.3 site生命周期目的是建立和部署项目站点Maven 能够根据 POM 包含的信息自动生成一个友好的站点该站点包含一些与该项目相关的文档。 pre-sitesitepost-sitesite-deploy Maven站点未看Maven site(站点) 经常用到的phase其实只有几个 clean清理 compile编译 test运行测试 package打包 3.  执行一个phase又会触发一个或多个goalgoal的命名总是abc:xyz这种形式 类比一下 lifecycle相当于Java的package它包含一个或多个phase phase相当于Java的class它包含一个或多个goal goal相当于class的method它其实才是真正干活的。 五、Maven插件 1. Maven 实际上是一个依赖插件执行的框架它执行的每个任务实际上都由插件完成的。Maven 的核心发布包中并不包含任何 Maven 插件它们以独立构件的形式存在 只有在 Maven 需要使用某个插件时才会去仓库中下载。 2. Maven 提供了如下 2 种类型的插件。 插件类型描述Build plugins在项目构建过程中执行在 pom.xml 中的 build 元素中配置 Reporting plugins在网站生成过程中执行在 pom.xml 中的 reporting  元素中配置  3. 插件目标plugin-goal 为了提高代码的复用性通常一个 Maven 插件能够实现多个功能每一个功能都是一个插件目标即 Maven 插件是插件目标的集合。我们可以把插件理解为一个类而插件目标是类中的方法调用插件目标就能实现对应的功能。 插件目标的通用写法 [插件名]:[插件目标名]例如maven-compiler-plugin 插件的 compile 目标的通用写法为 maven-compiler-plugin:compile使用 Maven 命令执行插件的目标 mvn [插件名]:[目标名]例如调用 maven-compiler-plugin 插件的 compile 目标 mvn compiler:compile 4. 插件绑定  为了完成某个具体的构建任务Maven 生命周期的阶段需要和 Maven 插件的目标相互绑定。 例如代码编译任务对应了default 生命周期的 compile 阶段而 maven-compiler-plugin 插件的 compile 目标能够完成这个任务因此将它们进行绑定就能达到代码编译的目的。 当插件目标绑定到生命周期的不同阶段时其执行顺序由生命周期阶段的先后顺序决定。如果多个目标绑定到同一个生命周期阶段其执行顺序与插件声明顺序一致先声明的先执行后声明的后执行。 内置绑定Maven 默认为一些核心的生命周期阶段绑定了插件目标当用户调用这些阶段时对应的插件目标就会自动执行相应的任务。 生命周期阶段插件目标执行的任务cleanpre-cleanclean maven-clean-plugin:clean清理 Maven 的输出目录post-cleansitepre-sitesitemaven-site-plugin:site生成项目站点post-sitesite-deploymaven-site-plugin:deploy部署项目站点defaultprocess-resources  maven-resources-plugin:resources复制资源文件到输出目录compilemaven-compiler-plugin:compile编译代码到输出目录process-test-resources  maven-resources-plugin:testResources复制测试资源文件到测试输出目录test-compilemaven-compiler-plugin:testCompile编译测试代码到测试输出目录testmaven-surefire-plugin:test执行测试用例packagemaven-jar-plugin:jar/maven-jar-plugin:war创建项目 jar/war 包installmaven-install-plugin:install将项目输出的包文件安装到本地仓库deploymaven-deploy-plugin:deploy将项目输出的包文件部署到到远程仓库 自定义绑定用户也可以自己选择将某个插件目标绑定到 Maven 生命周期的某个阶段上 project ...buildplugins!-- 绑定插件 maven-antrun-plugin --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-antrun-plugin/artifactIdversion1.8/versionexecutionsexecution!--自定义 id --idwww.biancheng.net clean/id!--插件目标绑定的构建阶段 --phaseclean/phase!--插件目标 --goalsgoalrun/goal/goals!--配置 --configuration!-- 执行的任务 --tasks!--自定义文本信息 --echo清理阶段编程帮 欢迎您的到来网址www.biancheng.net/echo/tasks/configuration/execution /executions/plugin/plugins/build ... /project 配置中除了插件的坐标信息之外还通过 executions 元素定义了一些执行配置。executions 下的每一个 executin 子元素都可以用来配置执行一个任务。 execution 下各个元素含义如下 id任务的唯一标识。 phase插件目标需要绑定的生命周期阶段。 goals用于指定一组插件目标其子元素 goal 用于指定一个插件目标。 configuration该任务的配置其子元素 tasks 用于指定该插件目标执行的任务。 5. 插件与依赖的区别 依赖运行时开发时都需要相当于写代码时候用到的包需要通过这些包里的函数构建自己的代码在打包时需要把这些依赖也打包进项目里 插件在项目开的发时需要但是在项目运行时不需要因此在项目开发完成后不需要把插件打包进项目中。插件是一种工具例如compile插件是用来编译代码的工具mybatis插件是用来自动生成数据库dao和mapper的工具。而依赖则是项目工程在编译过程中需要依赖的二方及三方包。 把开发项目看作做一道菜代码就是作为原材料的菜依赖就是油盐酱醋而插件就是盘子和铁锅。依赖是整个项目的一部分而插件不是。 待补充 参考Maven教程 Maven基础 - 廖雪峰的官方网站
http://www.zqtcl.cn/news/525958/

相关文章:

  • 顺德品牌网站建设信息网络编程课程
  • 广西南宁建设职业学图书馆网站wordpress 黑色主题
  • 网站建设需要准备那些内容阜阳微商城网站建设
  • flash全屏网站模板企业网站示例
  • 制作手机端网站开发厦门网站设计定制
  • 佛山网站开发公司做网站在什么地方发帖子呢
  • 无网站可以做cpc吗wordpress 12张表
  • 有些中小网站cnzz网站排名是怎么做的
  • 深圳做微商网站的公司高端做网站价格
  • 在线原型设计网站wordpress菜单页内跳转
  • 做电影网站要买什么抖音推广怎么收费
  • 专业的公司网站开发网站按钮设计
  • 南宁网站建设是什么深圳公司有哪些
  • 杭州手机申请网站登录怎么做电子商务网站
  • 青岛个人接网站建设wordpress 转载文章
  • 网上做网站任务网络营销传播的核心内容
  • 做黑界头像网站成考过来人的忠告
  • 宁波网站建设是哪家便宜织梦网站数据库备份文件夹
  • 在北京大学生做家教的网站淘宝网页
  • 英铭网站建设网站如何推广引流
  • 关于电子商务网站建设的现状企业公示信息查询系统山西
  • 网站开发 翻译长春建站企业
  • dedecms网站网站解析一般什么时候
  • 制作网站的技术北京律师24小时电话
  • 可拖拽 网站建设如何做自媒体和网站签约赚点击
  • 做网站选哪个语言怎么登录百度app
  • 国发网站建设网站优化主要优化哪些地方
  • 快速微信网站开发定制网站建设费用预算
  • 网站制作叫什么知名网站建设制作
  • 网络营销网站建设公司h5应用