一. 设置一个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开发环境配置(4)--Maven安装 环境变量配置,本地仓库配置---插件安装

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

  4. Maven 的安装与配置

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

  5. Maven(1)-安装和配置

    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. 一.Maven的安装和配置整理

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

  9. 1.Maven的安装及配置

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

随机推荐

  1. 脱离Xcode,程序在模拟器中无法运行

    今天在调试项目的时候 突然发现,如果项目不通过Xcode启动而是直接通过模拟器进行启动,程序闪一下马上退出,并且不是闪退,而是跑到后台去了,并且后台的程序同样无法启动.找了好多解决办法,最后的解决方案 ...

  2. new Date() 倒计时

    js中单独调用new Date() 显示的结果是:Fri May 20 2015 20:00:00 GMT+0800这种格式的时间 JS获取当前时间戳的方法 JavaScript 获取当前时间戳: 第 ...

  3. 重新设置MySQL的root密码

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录 ...

  4. Sdut 2416 Fruit Ninja II(山东省第三届ACM省赛 J 题)(解析几何)

    Time Limit: 5000MS Memory limit: 65536K 题目描述 Haveyou ever played a popular game named "Fruit Ni ...

  5. IOS 学习笔记 2015-04-10 OC-常用常量

    一 常用常量 (I) 关于按钮 UIControlState--->按钮状态 A UIControlStateNormal 默认状态 常规状态显现 B UIControlStateHighlig ...

  6. eval(phpcode) 字符当代码执行

    eval(phpcode)eval() 函数把字符串按照 PHP 代码来计算.相当于在字符串两边分别加上PHP语 法标签 该字符串必须是合法的 PHP 代码,且必须以分号结尾. 如果没有在代码字符串中 ...

  7. php MVC 及例子解释

    根据http://www.21ds.net/article/4/453改写: MVC模式在网站架构中十分常见.它允许我们建立一个三层结构的应用程式,从代码中分离出有用的层,帮助设计师和开发者协同工作以 ...

  8. php远程读取json的方法

    <?php /** * @author 懒人 <service@kuitao8.com> * @since 2.0 */ header("Content-type:text ...

  9. Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks(1)

    今天和陈驰,汪鑫讨论了一下,借此记录一下想法. 关于这篇论文,要弄清的地方有: 1.LSTMtree到底是从上往下还是从下往上学的,再确认一下 2.关于每个节点的标注问题 3.label的值到底该怎么 ...

  10. 【转】【Top 100 Best Blogs for iOS Developers】

    原文地址:http://www.softwarehow.com/best-blogs-for-ios-developers/ (by JP Zhang | Last updated: Apr 5, 2 ...