做网站版权怎么写,网站搭建的流程,电脑做视频的网站,你建立的网站使用了那些营销方法文章目录 一、概念1、官方文档2、什么是Maven#xff1f; 二、相关知识1、Maven生命周期1.1、clean1.2、default1.3、site 2、Pom文件3、Pom常用元素3.1、项目基本元素3.2、properties\/properties\3.3、pom继承相关3.4、依赖管理相关3.5、构建管理相关3.6、 二、相关知识1、Maven生命周期1.1、clean1.2、default1.3、site 2、Pom文件3、Pom常用元素3.1、项目基本元素3.2、properties\/properties\3.3、pom继承相关3.4、依赖管理相关3.5、构建管理相关3.6、profiles\/profiles\ 三、拓展1、Maven配置阿里云镜像加速 一、概念
1、官方文档
Maven官方文档
2、什么是Maven Maven, a Yiddish word meaning accumulator of knowledge, began as an attempt to simplify the build processes in the Jakarta Turbine project. There were several projects, each with their own Ant build files, that were all slightly different. JARs were checked into CVS. We wanted a standard way to build the projects, a clear definition of what the project consisted of, an easy way to publish project information, and a way to share JARs across several projects. The result is a tool that can now be used for building and managing any Java-based project. We hope that we have created something that will make the day-to-day work of Java developers easier and generally help with the comprehension of any Java-based project. 大致可以理解为构建和管理任何基于java的项目的工具
二、相关知识
1、Maven生命周期
Maven生命周期官方解释
Maven有三套生命周期并且这三套生命周期之间是独立的互不相关的。每个生命周期都有不同的阶段(Phases)这些不同的阶段之间是有序的每个阶段必须在前面的阶段执行完后才可执行。 Maven的三套生命周期分别是cleandefaultsite
1.1、clean
clean用于清理项目 PhaseDescriptionpre-clean在实际的项目清理之前执行所需的过程clean删除以前构建生成的所有文件post-clean执行完成项目清理所需的流程 1.2、default
default是开发中经常用到的生命周期项目的校验、编译、打包、部署等都在这里 PhaseDescriptionvalidate验证项目是否正确所有必要的信息是否可用initialize初始化构建状态例如设置属性或创建目录generate-sources生成要包含在编译中的任何源代码process-sources处理源代码例如过滤任何值generate-resources生成要包含在包中的资源process-resources将资源复制并处理到目标目录中准备打包compile编译项目的源代码process-classes对编译生成的文件进行后处理例如对Java类进行字节码增强generate-test-sources生成任何测试源代码以包含在编译中process-test-sources处理测试源代码例如过滤任何值generate-test-resources为测试创建资源process-test-resources将资源复制并处理到测试目标目录中test-compile将测试源代码编译到测试目标目录中process-test-classes对测试编译生成的文件进行后处理例如对Java类进行字节码增强。test使用合适的单元测试框架运行测试。这些测试不应该要求对代码进行打包或部署prepare-package在实际包装前完成包装前的准备工作。这通常会导致软件包的未打包、处理过的版本package将编译后的代码打包成可分发的格式比如JARpre-integration-test在执行集成测试之前执行所需的操作。这可能涉及诸如设置所需环境之类的事情integration-test如有必要将包处理并部署到可以运行集成测试的环境中post-integration-test执行集成测试后所需的操作。这可能包括清理环境verify运行任何检查来验证包是有效的并且符合质量标准install将包安装到本地存储库中以便在本地其他项目中作为依赖项使用deploy在集成或发布环境中完成将最终包复制到远程存储库以便与其他开发人员和项目共享 1.3、site
site主要用于生成项目的站点 PhaseDescriptionpre-site在实际的项目站点生成之前执行所需的过程site生成项目的站点文档post-site执行完成站点生成所需的流程并为站点部署做准备site-deploy将生成的站点文档部署到指定的web服务器 2、Pom文件
Pom文件官方解释 POM代表“项目对象模型”。它是Maven项目的XML表示形式保存在名为pom.xml的文件中。pom.xml文件中可以定义项目所需的版本、依赖、插件、构建等等
pom.xml 这是直接在POM的项目元素下的元素列表。注意modelVersion包含4.0.0。这是目前唯一支持的POM版本并且总是必需的。 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 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!-- The Basics --groupId.../groupIdartifactId.../artifactIdversion.../versionpackaging.../packagingdependencies.../dependenciesparent.../parentdependencyManagement.../dependencyManagementmodules.../modulesproperties.../properties!-- Build Settings --build.../buildreporting.../reporting!-- More Project Information --name.../namedescription.../descriptionurl.../urlinceptionYear.../inceptionYearlicenses.../licensesorganization.../organizationdevelopers.../developerscontributors.../contributors!-- Environment Settings --issueManagement.../issueManagementciManagement.../ciManagementmailingLists.../mailingListsscm.../scmprerequisites.../prerequisitesrepositories.../repositoriespluginRepositories.../pluginRepositoriesdistributionManagement.../distributionManagementprofiles.../profiles
/project3、Pom常用元素
3.1、项目基本元素 groupIdxxx/groupIdartifactIdxxx/artifactIdversionxxx/versionpackagingxxx/packagingnamexxx/namedescriptionxxx/descriptiongroupIdxxx/groupId通常使用完全限定的包名来将其与具有类似名称的其他项目区分开来(例如org.springframework.boot)。artifactIdxxx/artifactId该工件的标识符在由groupId给出的组中是唯一的。工件是由项目产生或使用的东西。(例如spring-boot-starter-web)versionxxx/version这个项目产生的工件的当前版本。
一个gav(groupIdartifactIdversion)可以标识唯一的包或插件 例 groupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion2021.0.8/versionpackaging/packaging生成该项目的类型有jar、war、ear、pom四种类型默认为jarnamexxx/name项目名称descriptionxxx/description项目表述文本
3.2、properties/properties
可以自定义一些公共的值在这个标签下统一管理引用方式${xxx} propertiesrevision1.0.0-SNAPSHOT/revision!-- dependent version --spring-boot.version2.7.15/spring-boot.versionspring-cloud-alibaba.version2021.0.5.0/spring-cloud-alibaba.versionspring-cloud.version2021.0.8/spring-cloud.versionlombok.version1.18.30/lombok.version/propertiesdependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/versionoptionaltrue/optional/dependency/dependencies3.3、pom继承相关 pom支持继承的方式复用父pom中的内容以下是继承规则 子Pom继承父Pom的所有资源包括依赖、插件、构建方式dependencyManagement/dependencyManagement或者pluginManagement/pluginManagement中的依赖(dependencies)或插件(plugins)不会被继承到子类但是子类如果需要使用可以自己引入这里面的依赖(dependencies)或插件(plugins)并且不需要声明version/version会自动继承父类的version子pom和父pom声明同一个依赖(dependencies)或插件(plugins)如果子pom声明了version/version子pom声明的version有限生效 parentartifactIdxxx/artifactIdgroupIdxxx/groupIdversionxxx/versionrelativePath../pom.xml/relativePath/parentmodulesmodulexxx/modulemodulexxx/module/modulesparent…/parent子Pom中标识父Pom相关坐标relativePath…/pom.xml/relativePath指定父Pom的相对路径默认为…/pom.xmlmodules/module/modules/module子模块信息
3.4、依赖管理相关 dependenciesdependencygroupId/groupIdartifactId/artifactIdversion/version/type/typeclassifier/classifierscope/scopesystemPath/systemPathexclusionsexclusiongroupId//groupIdartifactId/artifactId/exclusion/exclusionsoptional//dependency/dependenciesdependencies/dependency…/dependencies/dependency依赖信息typexxx/type依赖类型包括jar、war、pom等等默认是jar。classifierxxx/classifier引用附加的工件或区分属于同一POM但构建方式不同的两个工件
例子 a、引用附加的工件 dependencygroupIdcom.test/groupIdartifactIdmytest/artifactIdversion1.0/version/classifierjavadoc/classifier/dependency这样就会引入两个依赖mytest-1.0.jar和mytest-1.0-javadoc.jar
b、区分属于同一POM但构建方式不同的两个工件 dependencygroupIdcom.test/groupIdartifactIdmytest/artifactIdversion1.0/version/classifierjdk15/classifier/dependency我假设现在项目是jdk8在mytest包中用的jdk15就可以这样声明
systemPathxxx/systemPath指定引用jar包的路径例如D:\a\bscopexxx/scope指定依赖的作用域包括compile、runtime、test、system、provided、import默认是compile compile这是默认作用域。全程参与当前项目的编译、测试、运行时、打包。这个作用域是可传递的runtime该依赖项目无需参与项目的编译不过后期的测试和运行周期需要其参与。test仅在测试编译和执行阶段可用。这个作用域不是可传递的system不会从maven库中取依赖而是从本地文件拿。一般要搭配systemPath/systemPath使用provided 参与编译测试运行等周期但不参与打包希望该依赖是容器或者jdk等提供。这个作用域不是可传递的import一般只用于dependencyManagement/dependencyManagement依赖管理中把当前依赖下的所有依赖都引入进来。 exclusions/exclusion…/exclusions/exclusion排除相关依赖optionalxxx/optional表示该依赖是否是可选的。值只有true或者false默认为false。true就是可选的不会参与传递。 例如父pom的某个依赖包dependencyA内部引入了dependencyB但是dependencyB使用了optionaltrue/optional那么子pom里引入该依赖包dependencyA时不会一起引入dependencyB
3.5、构建管理相关
包括资源的加载、插件的管理等 buildfinalNamexxx/finalNameresourcesresourcedirectoryxxx/directoryfilteringfalse/filteringincludesinclude**/*/include/includes/resource/resourcespluginsplugingroupIdxxx/groupIdartifactIdxxx/artifactIdversion1.0/versionexecutionsexecutionidxxx/idphaseverify/phasegoalsgoalcheck/goal/goals/execution/executions/plugin/plugins/buildbuild…/build包含构建项目所需的信息finalNamexxx/finalName构建项目生成的文件名resources/resource…/resources/resource类路径资源配置directoryxxx/directory描述资源存储的目录。路径是相对于POM的。filteringxxx/filtering是否过滤资源以用参数化值替换。值为true或者false默认为falseincludes/includexxx/includes/include要包含的文件路径excludes/excludexxx/excludes/exclude要排除的文件路径plugins/pluginxxx/plugins/plugin插件信息pluginManagement/pluginManagement插件管理一般用于pom继承时插件的管理类似dependencyManagementexecutions/executionxxx/executions/execution在构建生命周期中执行的一组目标的一个或多个规范每个规范(可能)都有不同的配置。inheritedxxx/inherited插件是否可传递继承到子类idxxx/id用于在构建期间标记目标,默认值defaultphasexxx/phase将此执行中的目标绑定到Maven的default生命周期中的阶段参见Maven生命周期defaultgoals/goalxxx/goals/goal绑定插件的声明周期中的阶段configurationxxx/configuration可用于配置插件内部所需的配置信息
3.6、profiles/profiles
可用于动态环境激活项目
spring:profiles:active: spring.profiles.activeprofilesprofileiddev/idpropertiesspring.profiles.activedev/spring.profiles.active/properties!-- 默认环境 --activationactiveByDefaulttrue/activeByDefault/activation/profileprofileidtest/idpropertiesspring.profiles.activetest/spring.profiles.active/properties/profile/profiles可在开发(dev)、测试(test)、生产(prod环境等切换相应配置
三、拓展
1、Maven配置阿里云镜像加速
1、找到maven的setting.xml配置一般在C:\Users\xxx.m2下 2、找到标签添加以下代码
mirrorsmirroridaliyun/idmirrorOf*/mirrorOfnamealiyun maven/nameurlhttps://maven.aliyun.com/repository/public/url/mirrormirroridaliyun-nexus/idmirrorOf*/mirrorOfnamealiyun nexus/nameurlhttp://maven.aliyun.com/nexus/content/groups/public//url/mirror
/mirrors
文章转载自: http://www.morning.jwtjf.cn.gov.cn.jwtjf.cn http://www.morning.xhgxd.cn.gov.cn.xhgxd.cn http://www.morning.nrzkg.cn.gov.cn.nrzkg.cn http://www.morning.ngcw.cn.gov.cn.ngcw.cn http://www.morning.wzwpz.cn.gov.cn.wzwpz.cn http://www.morning.caswellintl.com.gov.cn.caswellintl.com http://www.morning.sgbsr.cn.gov.cn.sgbsr.cn http://www.morning.lktjj.cn.gov.cn.lktjj.cn http://www.morning.lrzst.cn.gov.cn.lrzst.cn http://www.morning.wnjwb.cn.gov.cn.wnjwb.cn http://www.morning.bpptt.cn.gov.cn.bpptt.cn http://www.morning.mnyzz.cn.gov.cn.mnyzz.cn http://www.morning.hkgcx.cn.gov.cn.hkgcx.cn http://www.morning.mrckk.cn.gov.cn.mrckk.cn http://www.morning.nzlqt.cn.gov.cn.nzlqt.cn http://www.morning.ykxnp.cn.gov.cn.ykxnp.cn http://www.morning.dpsyr.cn.gov.cn.dpsyr.cn http://www.morning.pmxw.cn.gov.cn.pmxw.cn http://www.morning.cqrenli.com.gov.cn.cqrenli.com http://www.morning.rui931.cn.gov.cn.rui931.cn http://www.morning.trrd.cn.gov.cn.trrd.cn http://www.morning.jfgmx.cn.gov.cn.jfgmx.cn http://www.morning.dtcsp.cn.gov.cn.dtcsp.cn http://www.morning.nrchx.cn.gov.cn.nrchx.cn http://www.morning.gcqkb.cn.gov.cn.gcqkb.cn http://www.morning.dzdtj.cn.gov.cn.dzdtj.cn http://www.morning.rgnq.cn.gov.cn.rgnq.cn http://www.morning.aowuu.com.gov.cn.aowuu.com http://www.morning.cbndj.cn.gov.cn.cbndj.cn http://www.morning.hsksm.cn.gov.cn.hsksm.cn http://www.morning.hytr.cn.gov.cn.hytr.cn http://www.morning.lfcnj.cn.gov.cn.lfcnj.cn http://www.morning.xzkgp.cn.gov.cn.xzkgp.cn http://www.morning.ftrpvh.cn.gov.cn.ftrpvh.cn http://www.morning.xdqrz.cn.gov.cn.xdqrz.cn http://www.morning.mhrzd.cn.gov.cn.mhrzd.cn http://www.morning.fcrw.cn.gov.cn.fcrw.cn http://www.morning.kbynw.cn.gov.cn.kbynw.cn http://www.morning.kmqms.cn.gov.cn.kmqms.cn http://www.morning.rcwbc.cn.gov.cn.rcwbc.cn http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn http://www.morning.gwdmj.cn.gov.cn.gwdmj.cn http://www.morning.zqkr.cn.gov.cn.zqkr.cn http://www.morning.hmgqy.cn.gov.cn.hmgqy.cn http://www.morning.bsghk.cn.gov.cn.bsghk.cn http://www.morning.fgrkc.cn.gov.cn.fgrkc.cn http://www.morning.plchy.cn.gov.cn.plchy.cn http://www.morning.ywqw.cn.gov.cn.ywqw.cn http://www.morning.kjlia.com.gov.cn.kjlia.com http://www.morning.xzrbd.cn.gov.cn.xzrbd.cn http://www.morning.mjbkp.cn.gov.cn.mjbkp.cn http://www.morning.hgsmz.cn.gov.cn.hgsmz.cn http://www.morning.zdzgf.cn.gov.cn.zdzgf.cn http://www.morning.pxmyw.cn.gov.cn.pxmyw.cn http://www.morning.nqypf.cn.gov.cn.nqypf.cn http://www.morning.zxhhy.cn.gov.cn.zxhhy.cn http://www.morning.lhrcr.cn.gov.cn.lhrcr.cn http://www.morning.kzcfp.cn.gov.cn.kzcfp.cn http://www.morning.hrtwt.cn.gov.cn.hrtwt.cn http://www.morning.nwbnt.cn.gov.cn.nwbnt.cn http://www.morning.xdttq.cn.gov.cn.xdttq.cn http://www.morning.nwnbq.cn.gov.cn.nwnbq.cn http://www.morning.tfcwj.cn.gov.cn.tfcwj.cn http://www.morning.dhbyj.cn.gov.cn.dhbyj.cn http://www.morning.qfqld.cn.gov.cn.qfqld.cn http://www.morning.rbkml.cn.gov.cn.rbkml.cn http://www.morning.byzpl.cn.gov.cn.byzpl.cn http://www.morning.ngmjn.cn.gov.cn.ngmjn.cn http://www.morning.brbmf.cn.gov.cn.brbmf.cn http://www.morning.fnbtn.cn.gov.cn.fnbtn.cn http://www.morning.rykx.cn.gov.cn.rykx.cn http://www.morning.khntd.cn.gov.cn.khntd.cn http://www.morning.mmzfl.cn.gov.cn.mmzfl.cn http://www.morning.bhpjc.cn.gov.cn.bhpjc.cn http://www.morning.wbqt.cn.gov.cn.wbqt.cn http://www.morning.pjrql.cn.gov.cn.pjrql.cn http://www.morning.bqxxq.cn.gov.cn.bqxxq.cn http://www.morning.sbdqy.cn.gov.cn.sbdqy.cn http://www.morning.jgmdr.cn.gov.cn.jgmdr.cn http://www.morning.rsjng.cn.gov.cn.rsjng.cn