maven多配目配置总结

时间:2022-09-11 18:43:38

一. 设置一个parent项目,parent项目的作用应该有如下方面:

1.统一管理jar包的版本,这样许多子项目只需指定依赖的jar,而无需指定所依赖jar的版本

(1)在<properties>标签内部指定版本常量,例如

<properties>

        <spring.webflow.version>2.3.2.RELEASE</spring.webflow.version

                  </properties>

      (2)引用maven本身提供的常量,如project.version,引用方式${project.version},这个方式多用于在一个多项目环境下,各子项目之间定义依赖时使用。

(3)通过在父项目上的<dependencyManagement>标签为子项目提供一个可选的依赖库,子项目指用其中的jar时无需指定版本

  (4)通过在父项目上的<dependencies>强行为子项目指定一些必要的jar

(5)  子项目继承父项目时无需指定版本,这样子项目将继承父项目的版本,这样一来结合上述(2)的设置,父项目就可以通过升级自己的版本而带动整个子项目版本的升级,且不会影响子项目之间的依赖。

2. 在父项目的配置中使用<modules>标签用来聚合管理各个子项目,比如如果想对项目进行打包,就只需在父项目上进行一次mvn install操作,会自动把<modules>标签上指定的全部子项目都执行一次mvn install 。

二. 使用私服,如安装nexus,但要注意,如果私服的访问不仅仅局限于局域网,则需要进行设置,屏蔽掉anonymous用户的访问。使用私服后,不同的开发人员只需通过版本服务器下自己要开发的项目,其他项目通过maven访问私服获取。

三. 使用各类maven插件,对项目进行特定的管理,这也是maven的特性,maven本身的架构是一个微内核架构,各类功能主要是靠插件来完成,所以要用好maven,就必须掌握一些常用的插件的使用。

四. 当多项目中某个jar包升级并发布到了nuexus私服上,如何通知其他项目进行更新,在这里可以利用maven的SNAPSHOT版本机制,,每次更改后,都mvn deploy到nexus中,每次deploy,maven都会将SNAPSHOT改成一个当前时间的timestamp,比如B-1.0-SNAPSHOT.jar到nexus中后,会成为这个样子:B-1.0-20081017-020325-13.jar。Maven在处理A中对于B的SNAPSHOT依赖时,会根据这样的timestamp下载最新的jar,默认Maven每天 更新一次,如果你想让Maven强制更新,可以使用-U参数,如:mvn clean install -U

maven多配目配置总结的更多相关文章

  1. Maven打包pom里面配置exclude 排除掉环境相关的配置文件

    Maven打包pom里面配置exclude 排除掉环境相关的配置文件 有几种方式:1. 打包时,指定环境参数把环境的配置文件复制过去2. 不打包所有的环境相关的配置文件,直接由运维的人维护 可以在上传 ...

  2. Maven的安装、配置及使用入门

    Maven的安装.配置及使用入门 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与 ...

  3. Java开发环境配置&lpar;4&rpar;--Maven安装 环境变量配置,本地仓库配置---插件安装

    说明在前:本人用过的 luna  mars 等,都已经自带maven插件的了,以下有些文章是很老的,讲到maven插件的安装都可以忽略掉. maven安装eclipse在线配置maven搞定所有插件_ ...

  4. Maven 的安装与配置

    最近公司需要新起一个项目,想使用maven+springmvc+spring+mybatis+mysql实现,以前我们的项目都是传统的老项目,没用过maven,Eclipse版本是GALILEO的,有 ...

  5. Maven&lpar;1&rpar;-安装和配置

    Maven(1)-安装和配置 一.本机必须安装好Jdk 二 .maven下载 http://maven.apache.org/download.cgi ,下载后把maven-bin解压到自己的目录即可 ...

  6. maven的安装与配置

    1.下载相应版本的maven安装包(压缩文件) http://maven.apache.org/download.cgi 2.环境变量配置 将下载的压缩包解压. 计算机===>属性=====&g ...

  7. JDK TOMCAT MAVEN在myeclipse如何配置

    对于没有基础的人来说,本工具务必放在D盘根目录下. 1配置环境变量, "我的电脑-->右键-->属性" 貌似是这样吧,我电脑桌面没"我的电脑"或&q ...

  8. 一&period;Maven的安装和配置整理

    Maven的安装和配置 1.1安装                 进入Maven官网的下载页面:http://maven.apache.org/download.cgi选择当前最新版本:" ...

  9. 1&period;Maven的安装及配置

    1 Maven 介绍 Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”.本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个颇为成功的开源项目,Maven ...

随机推荐

  1. 构建spring&plus;mybatis&plus;redis架构时遇到的小异常

    异常一: Caused by: java.lang.NoSuchMethodError: org.springframework.beans.BeanUtils.instantiateClass(Lj ...

  2. C&plus;&plus;中的预处理

    一.预处理的由来:      在C++的历史发展中,有很多的语言特征(特别是语言的晦涩之处)来自于C语言,预处理就是其中的一个.C++从C语言那里把C语言预处理器继承过来(C语言预处理器,被Bjarn ...

  3. MySQL HA方案之MySQL半复制&plus;MHA&plus;Keepalived&plus;Atlas&plus;LVS&lbrack;转&rsqb;

    MySQL HA方案之MySQL半复制+MHA+Keepalived+Atlas+LVS 简介 目前Mysql高可用的方案有好多,比如MMM,heartbeat+drbd,Cluster等,还有per ...

  4. vi 命令行模式功能键

    目录 目录内容 I 切换到插入模式,此时光标位于开始输入文件处 A 切换到插入模式,并从目前光标所在位置的下一个位置开始输入文字 O 切换到插入模式,并从行首开始插入行的一行 [ctrl]+[b] 屏 ...

  5. SDWebImage 原理及使用

    这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征. SDWebImage 加载图片的流程 入口 setImageWi ...

  6. 海美迪Q5智能机顶盒的蓝牙功能

    虽然在硬件上,海美迪Q5智能机顶盒没有集成蓝牙模块,但是在软件系统上,Q5是支持蓝牙驱动的,所以它可以通过USB外接蓝牙适配器来扩展出蓝牙功能,简单来说,就是你另外买个蓝牙适配器,插到Q5上面,就能用 ...

  7. Qt中将QTableView中的数据导出为Excel文件

    如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能.之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件.在使用了QtSql模块后,我很容易的将这个类 ...

  8. Runtime of Objective-C

    [0] Outline --  [1] 版本和平台 --  [2] 与Runtime System交互 --  [3] 方法的动态决议 --  [4] 消息转发 --  [5] 类型编码 --  [6 ...

  9. IntelliJ IDEA部署tomcat时Edit Configuration Deployment无artifact选项

    IntelliJ IDEA,IntelliJ Idea创建web项目之后在配置web项目时,选择Edit Configration部署Tomcat,Deployment里点击添加无artifact选项 ...

  10. What is the Annotation&quest;

    Annotation称为注释或注解,它是一个接口.注解提供了一种为程序元素(类.方法.成员变量等)设置元数据(描述其它数据的数据)的方法.编译器.开发工具或其它程序中可以通过反射来获取程序中的Anno ...