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

五指山市网站建设_网站建设公司_测试上线_seo优化

佛山网站建设公司有哪,中囯联通腾迅,2016个人做淘宝客网站,正确的网址格式输入前言 Maven仅仅是个打包工具而已#xff0c;个人觉得没有太大必要花费在打包工具上#xff0c;这里就列举一下个人觉得会常用标签的使用就好了#xff0c;原理啥的基本就不太会去深度了解了#xff0c;如果以后遇到需了解Maven工作原理的工作的话#xff0c;到时候一定分…前言 Maven仅仅是个打包工具而已个人觉得没有太大必要花费在打包工具上这里就列举一下个人觉得会常用标签的使用就好了原理啥的基本就不太会去深度了解了如果以后遇到需了解Maven工作原理的工作的话到时候一定分享出来。 pom结构 前面那篇博客已经展示过了这里就在展示一下官网上也有文档可以查看链接Maven官网pom.xml parent标签 这个标签用的最多是在使用Spring Boot项目以及父子项目的用的最多 SpringBoot示例 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.15.RELEASE/version /parent父子项目示例 这里module标签意思就是该父项目有哪些模块的意思值为子模块的文件夹的名称而不是artifactId不然找不到对应的子模块而且在父模块中的packaging标签值为pom表示这是一个父类项目。 坐标 Maven中坐标是Jar包的唯一标识在pom.xml中指定坐标的标签元素包括groupId,artifactId,version,packaging 元素描述说明groupId定义当前模块隶属的实际Maven项目中小企业常常直接对应公司/组织artifactId定义实际项目中的一个模块唯一标识一个模块version定义当前项目所在的版本SNAPSHOT 表示不稳定的版本。 LATEST 指最新发布的版本可能是个发布版也可能是一个snapshot版。 RELEASE 指最后一个发布版。packaging定义Maven项目打包方式有jar(默认)、war、pom表示为父模块、maven-plugin当前项目为插件等.classifier附属构件(如javadoc、sources)须有附加插件的帮助 properties属性标签 这个标签里面可自定义标签属性也可覆盖默认标签属性示例 propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingspring.version5.1.16.RELEASE/spring.version /properties .... dependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion${spring.version}/version/dependency /dependencies 自定义属性可以在maven的生命周期中使用最常用的就是在default-resources中使用用来替换properties文件中的${}值。 Maven自己会有一些内置属性 ${basedir} 项目根目录 ${project.build.directory} 构建目录缺省为target ${project.build.outputDirectory} 构建过程输出目录缺省为target/classes ${project.build.finalName} 产出物名称缺省为${project.artifactId}-${project.version} ${project.packaging} 打包类型缺省为jar ${project.xxx} 当前pom文件的任意节点的内容 dependency依赖标签 这个标签下放的就是当前项目依赖jar的坐标。 如果我想引入一下MySQL的驱动包 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.16/versionscopecompile/scope /dependency 这里有个依赖作用域scope一般有以下依赖范围 compile默认范围用于编译依赖的jar在打包时会包含进去      provided类似于编译但支持你期待jdk或者容器提供类似于classpath依赖的jar在打包时不会包含进去 runtime在执行时需要使用依赖的jar在打包时会包含进去test用于test任务时使用依赖的jar在打包时不会包含进去system需要外在提供相应的元素。通过systemPath来取得一般该作用域用来引入外部jar包 在使用system作用域的时候使用systemPath标签指定外部元素路径如 systemPath${project.basedir}/lib/sdk-1.0.jar/systemPath//项目根路径下 在依赖标签里面还有一个标签属性optional该标签默认值为false指的是父子项目之间的是否传递之前在看Mybatis源代码的时候下载下来后的pom.xml里面就会有这个标签如果父项目引入一个依赖并且optional标签设置为true的话那么子项目打包的时候也会打包进去如果设置为false的话那么就不会打包进去。 依赖冲突解决 在引入依赖的时候会存在一个问题就是依赖传递如果在项目中引入多个重复的依赖那么jvm只能拿到一个版本的依赖其他的版本的依赖就会被抛弃所以Maven在处理这个上是有一定的顺序的先看一下示例 如果有个项目pom.xml引入fastjson包的依赖如下 则取舍规则如下 1、路径最短原则product和customer里的fastjson引用路径较短路径为两步 ;pay项目里的fastjson引用路径较长路径为三步。因此pay中的fastjson被淘汰 2、同路径长度下谁先声明谁优先 product和customer中的fastjson路径相同那么就看在pom中是先声明product还是先声明customer谁先用谁的。 profiles标签 主要应用的场景开发环境和测试环境的配置是不一致的为了打包方便一般我们会将配置文件的写在一个properties文件中如下 在打包的时候指定是测试环境还是开发环境进行不同的打包实现这样的一个功能就是使用profiles标签了先将两种不同环境的数据录入到profiles标签中如下所示activeByDefault为默认配置 此定义即指当mvn命令执行时我们需要通过加上 -P dev或者-P test方式传入我们的需要指定的profile的iddev/test选择会导致properties里的变量值含义不同这个操作需要在build标签中添加一个资源复制 dependencyManagement标签 这个标签是作为版本号管理使用的基本上都是用于父项目中定义好全局统一的版本号在子项目中就只需要引入groupId以及artifactId了在SpringBoot的父模块中就是使用的这个作为统一管理的。 build标签 该标签主要是用来打包时做一些处理功能像资源文件的复制选择指定的插件以及最终打包的jar包名称等。 finalName 当前应用工程打包的jar名称 pluginManagement标签 当前标签和dependencyManagement的作用是一致在父模块当中定义好版本号在子模块当中直接引用即可 plugin标签 当前标签为插件标签在上篇博文当中已经提到了Maven生命周期中对应的执行插件有哪些而插件也是一个jar包所以引入也是需要通过坐标进行引入的示例如上。 后面我会发布一篇博客专门讲解Maven插件的。 distributionManagement 该标签是在Maven的deploy阶段即将当前项目推送到远程私服的仓库上以供于他人使用一般比较大型的公司都会有自己的私服仓库公司内部自己也会开发一些组件啥的开发完之后需推送到公司的私服仓库当中私服后面我也会有一片博客讲解这个东西在推送的过程中也可以指定推送哪种类型的仓库 还有两种常用的标签repositories和pluginRepositories用法如下 repositories即指定当前项目依赖引入jar使用的仓库地址如果在Maven的settings.xml中指定好镜像仓库和依赖仓库后这里其实是可以不需要指定的但是如果某些项目需要的依赖仓库不在settings.xml的配置文件里面可以在pom.xml中手动指定仓库。 pluginRepositories即指定当前项目插件依赖引入jar使用的仓库地址。功能同上。 mirrors 还有个settings.xml里面的镜像标签需要提一下Maven仓库镜像是会拦截所有只想仓库的路径转向到镜像当中的仓库即如果没有配置镜像的话那么Maven下载依赖包会直接去远程中央仓库中下载而如果配置了镜像那么就会被镜像拦截转发到镜像指定的仓库下载依赖和镜像标签一起使用的还有mirrorOf标签该标签是可以指定哪些仓库可以被镜像拦截 !--匹配所有仓库请求即将所有的仓库请求都转到该镜像上-- mirrorOf*/mirrorOf !--将仓库jcenter和repo2的请求转到该镜像上使用逗号分隔多个远程仓库。 -- mirrorOfjcenter,repo1/mirrorOf !--匹配所有仓库请求jcenter除外使用感叹号将仓库从匹配中排除。-- mirrorOf*,!jcenter/miiroOf !-- settings.xml中的仓库 -- repositoryidjcenter/idurlhttps://jcenter.bintray.comt/url /repository repositoryidrepo1/idurlhttps://repo1.maven.org/maven2/url /repository 下面列举一些镜像地址 !-- 阿里云的镜像站--mirroridnexus-aliyun/idnameNexus aliyun/nameurlhttp://maven.aliyun.com/nexus/content/groups/public//url mirrorOfcentral/mirrorOf /mirror !-- maven官方运维仓库 -- mirror idrepo2/id nameMirror from Maven Repo2/name urlhttp://repo2.maven.org/maven2//url mirrorOfcentral/mirrorOf /mirror !-- maven在UK架设的仓库-- mirror idui/id nameMirror from UK/name urlhttp://uk.maven.org/maven2//url mirrorOfcentral/mirrorOf /mirror !-- JBoss的仓库 -- mirror idjboss-public-repository-group/id mirrorOfcentral/mirrorOf nameJBoss Public Repository Group/name urlhttp://repository.jboss.org/nexus/content/groups/public/url /mirrorMaven不仅仅是以上的那些标签属性在此只是列出来个人觉得平常使用的比较多的标签。
http://www.ihoyoo.com/news/110820.html

相关文章:

  • python做网站 jsp网站做网站维护的是什么公司
  • 生物做实验的网站邯郸制作网站
  • 礼品网站实例wordpress微信qq登陆
  • 机械设备asp企业网站源码下载企业网络的设计与实现
  • 开县做网站著名设计公司排名
  • 企业网站源码带支付开发wordpress主题
  • 佛山网站设计哪里好wordpress logo 尺寸
  • 甘肃泾川县门户网站两学一做建设银行企业网站银行
  • 房产网站建设方案论文369网站建设中心
  • 群晖建设网站网络优化工程师主要负责什么工作
  • 怪兽网站模板公司网页网站建设ppt模板下载
  • 济南金融行业网站开发微信广告怎么投放
  • 大气的房产网站wordpress 站长工具源码
  • 打开网站自动弹出qq域名备案需要网站吗
  • 网站建设财务处理天津网站开发工资水平
  • 网站建设目标与期望搭建一个平台
  • 山东省品牌建设促进会网站网站域名跳转是怎么做的
  • 汉中网站建设公司WordPress文章添加版权信息
  • 专业建材网站建设fusion app
  • 做资源网站违法吗郑州官网网络营销外包
  • 企业型网站制作上海58同城官网
  • 成都营销网站建设极简风格装修效果图
  • 国内大的网站建设公司攻击jsp网站
  • 微课网站开发石家庄昨天下午出了大事
  • 网站优化推广 site做网站链接要多少钱
  • 一篇关于大学网站建设与管理的论文怎么用WordPress搜索别人
  • 深圳专业做网站技术公司网站建设费分录
  • 做网站竞争者的优势网站建设公司果动c
  • 企业网站建设方案行情大良营销网站建设策划
  • 网站制作的相关术语wordpress修改logo地址