maven的版本管理笔记】的更多相关文章

1. 版本管理 (1) 快照版本对应了项目的开发过程,往往对应了很长的时间:发布版本对应了项目的发布,因此仅仅代表某个时刻项目的状态. (2) 理想的发布版本应当对应项目某个时刻比较稳定的状态,包括源代码的状态以及构建的状态,因此这个时候的项目的构建应当满足以下几个条件: 所有自动化测试应当全部通过: 项目没有配置任何快照版本的依赖: 项目没有配置任何快照版本的插件: 项目所包含的代码已经全部提交到版本控制系统中. (3) 项目的快照版本更新至发布版本之后,应当再执行一次Maven构建并将源代码…
Maven基础学习笔记 下载链接 官网:https://maven.apache.org/ 所有版本:https://archive.apache.org/dist/maven/maven-3/ 阿里云云效Maven:https://developer.aliyun.com/mvn/guide MVNrepository:https://mvnrepository.com/ Maven简介 Maven是什么 Maven的本质是一个项目管理工具,将项目开发和管理的过程抽象成一个对象模型(POM)…
什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用法.版本管理中说得版本是指构件(artifact)的版本,而非源码的版本(如subversion中常见的rXXX,或者git中一次提交都有个sha1的commit号). 比如我有一个项目,其artifactId为myapp,随着项目的进展,我们会生成这样一些jar:myapp-1.0-SNAPSHO…
一.灵活构建的意义 一个优秀的构建系统必须足够灵活,它应该能够让项目在不同的环境下都能成功地构建.例如,典型的项目都会有开发环境.测试环境和产品环境,这些环境的数据库配置不尽相同,那么项目构建的时候就需要能够识别所在的环境并使用正确的配置. 还有一种常见的情况是,项目开发了大量的集成测试,这此测试运行起来非常耗时,不适合在每次构建项目的时候都运行.因此需要一种手段能让我们在特定的时候才激活这些集成测试. Maven为了支持构建的灵活性,内置了三大特性,即属性.Profile和资源过滤.   二.…
  一.Web项目结构 1.显式指定Web项目打包方式为war:   2.默认目录 根据“约定大于配置”的规则,Web项目的类及资源文件默认位置为src/main/java和src/main/resources,测试类和测试资源文件默认位置src/test/java和src/test/resources,Web资源目录位于src/main/webapp. Maven项目结构没有War包中的lib目录,因为依赖都配置在POM中,Maven在用War方式打包的时候会根据POM配置从本地仓库复制相应的…
一.理想的发布版本,在项目构建时需要满足以下条件: 1.所有自动化测试应当全部通过: 2.项目没有配置任何快照版本的依赖: 3.项目没有任何快照版本的插件: 4.项目所包含的代码已经全部提交到版本控制系统中:   因此,将项目的快照版本更新至发布版本之后,应当再执行一次Maven构建,以确保项目状态是健康的.然后将这一变更提交到版本控制系统的主干中.接着再为当前主干的状态打上标签.以Subversion为例,这儿个步骤对应的命令如下:   二.版本号的定义 Maven的版本号定义约定是这样的:…
一.持续集成的步骤: 1.持续编译 2.持续数据库集成 3.持续测试 4.持续审查 5.持续部署 6.持续反馈   二.持续集成工具——Hudson 1.安装Hudson 2.准备Subversion仓库 正式建立Hudson持续集成任务之前,需要准备好版本控制系统,如CVS.Subversion.Git.Mercurial等.书中采用Subversion. 建立名为account的项目,则将项目目录下所有内容提交到svn仓库的/account/trunk路径下. 3.Hudson的基本系统设置…
一.基于Maven的测试 1.maven-surefire-plugin插件 该插件的test目标会自动执行测试源码路径(默认src/test/java)下符合以下命名模式的测试类: 以Test开头或结尾,或者以TestCase结尾的Java类.   2.跳过测试类 要求Maven跳过测试类,在命令行加入参数skipTests即可,如: mvn package -DskipTests   3.包含或排除测试用例 当测试类名称不是符合上述规则的时候,也可以通过配置pom文件使得这些类得到测试,如:…
除了坐标.依赖以及仓库外,Maven另外两个核心概念是生命周期和插件. 一.生命周期 Maven的生命周期是抽象的,其本身不做任务实际的工作,实际的任务(如编译源代码)都交由插件来完成. 三套生命周期: Maven拥有三套相互独立的生命周期,分别是clean.default和site. clean生命周期的目的是清理项目: default生命周期的目的是构件项目: site生命周期的目的是建立项目站点.   每个生命周期包含一些阶段(phase),这些阶段是有顺序的,并且后面的阶段依赖于前面的阶…
一.聚合 假设有两个模块:account-email和account-persist: 能够使用一条命令就能构建上述两个模块,需要创建一个额外的模块:account-aggregator: 通过account-aggregator构建整个项目的所有模块,而该模块本身也是Maven项目,有自己的Pom文件: 注意聚合模块account-aggregator打包方式packaging的值必须为pom,如下: 注意,聚合模块与其他模块的目录结构一般是父子关系,如上述pom所示.不过也不是必须的,这是要…
一.依赖范围 Maven在编译项目主代码的时候,需要使用一套classpath——编译classpath: 在编译和执行测试的时候,使用另一套classpath——测试classpath: 实际运行Maven项目的时候,又会使用一套classpath——运行classpath. [依赖范围]就是用来控制依赖与这三种classpath的关系,Maven有以下几种依赖范围: 1.compile:编译依赖范围 默认,对编译.测试.运行三种classpath都有效,如spring-core. 2.tes…
一.Maven仓库的分类 1.本地仓库 一般来说,在Maven项目目录下,没有诸如lib/这样用来存放依赖文件的目录. 要自定义本地仓库目录地址时,可以编辑文件~/.m2/setting.xml,设置localRepository元素的值. 注意:默认情况下~/.m2/settings.xml文件是不存在的,需要从Maven安装目录$M2_HOME/conf/settings.xml文件拷贝. 当然,编辑全局settings.xml文件也可以,但是多用户下不推荐这样做. 2.远程仓库 安装完Ma…
<Maven实战>徐晓斌 2011 机械工业出版社   一.介绍 1.名词 artifact:插件 极限编程XP 2.构建脚本: maven——pom.xml(Project Object Model) ant——build.xml 其基本结构是目标(target).依赖(depends),以及实现目标的任务. 3.maven vs ant Ant是过程式的,开发者显示指定每一个目标,以及完成该目标所需要执行的任务. Maven是声明式的,项目构建过程和过程各个阶段所需的工作都由插件实现. 4…
maven的构件表示方式是文件,maven通过仓库来统一管理这些文件. maven仓库的布局方式: 任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径 仓库分为两类:本地仓库和远程仓库,中央仓库是maven核心自带的远程仓库,默认配置下,当本地仓库没有构件时,maven会尝试从中央仓库下载.maven自带的中央仓库使用的id为central. 私服:私服是另一种特殊的远程仓库,为了节省宽带和时间,在公司的局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库.内部的…
刚入职公司用maven进行项目管理,于是昨天下午开始看<maven实战>的pdf,感觉很好,作者写的很有条理. 下面是笔记,看书做笔记还是很有必要的,加强自己的总结. 什么是maven? MAVEN 是一个构建工具还是一个依赖管理工具和项目信息管理工具.它提供了中央仓库,能帮我们自动下载构件. MAVEN 是用来管理项目的,清理.编译.测试.打包.发布,以及一些自定义的过程本身就是一件复杂的事情,所以MAVEN并不简单. MAVEN本身是分模块开发的 ,我们就看到了类似这种项目目录,可以理解为…
做开发或者做方案,写文档是很重要的一个工作,我们经常需要知道文档被修改的次数,谁在什么时间修改的文档,以及在某一个版本中,都修改了哪些内容,以及不同版本的文档之间有什么差别. 如何对文档进行版本管理,除了用我们最基本的源代码工具之外,用Sharepoint是最好不过的一个选择.当然如果你有Office365是最好不过了. 在一个Sharepoint申请下来之后,默认的文档库是不支持文档版本功能的.需要按如下方法开启这个功能.以下演示以英文版的Sharepoint为准,中文版本的菜单项等位置基本一…
代码的版本管理程序员们有专门的工具,那么作为项目管理人员如何进行文档版本的管理呢,此篇介绍如何通过SharePoint进行文档版本管理. 在没有SharePoint的时代我们如何管理版本呢?通常我们会在本地创建一个目录,或者在服务器上创建一个共享目录.但随着项目的进展文档在所难免要更新多次,而每次更新都想保留先前的版本,于是在这些目录里总会出现这些文档的副本.然后问题来了,当想确定文档从一个版本到另一个版本都改了什么的时候,该怎么做呢? 基于SharePoint,可以完美解决这些问题.Share…
如果 code 只存在src/java/main 路径下,直接install就好,不必写<build> 资源文件:edu-common-config <build> <finalName>edu-common-config</finalName> <resources> <!-- 指定 src/main/resources下所有文件及文件夹为资源文件 --> <resource> <directory>src/…
1.常用网站: maven.apache.org http://mvnrepository.com/   2.命令 mvn -v 查看maven的版本 mvn -compile 在项目的根目录下编译项目 mvn -test 测试项目 mvn -clean 删除项目的target目录(字节码和测试报告) mvn -install 安装jar包到本地仓库 mvn -package 将项目打包  依赖说明: 在maven中引入其他依赖,项目首先去本地仓库中查找,若没有找到,则去中央仓库中查找,并下载到…
9.Maven与MyEclipse2014结合 MyEclipse10以上的版本,对Maven支持的就比较好 9.2 Myeclipse配置 本地文件夹的C盘的.m2文件夹下必须得有这个settings.xml文件 不配置这个settings.xml文件的话,myeclipse会从互联网上下载需要的jar包. 9.3 修改pom文件 添加jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="…
8 仓库管理 仓库可以分为三种:1.本地仓库(本机).2.私服(公司局域网内的maven服务器).3.中央仓库(互联上,例如 struts2官网,或者hibernate官网) 可以根据maven坐标定义每一个jar包在仓库中的存储位置. 大致为:groupId/artifactId/version/artifactId-version.packaging几个标签 8.1 仓库的分类 本地仓库 ~/.m2/repository/ 每一个用户也可以拥有一个本地仓库 远程仓库 中央仓库:Maven默认…
5 maven的核心概念 5.1 项目对象模型 说明: maven根据pom.xml文件,把它转化成项目对象模型(POM),这个时候要解析依赖关系,然后去相对应的maven库中查找到依赖的jar包. 在clean,compile,test,package等阶段都有相应的Plug-in来做这些事情. 而这些plug-in会产生一些中间产物. 5.2 插件的位置 在maven解压后的位置E:\maven\bin有一个bin文件夹,里面有 一个文件m2.conf文件中指明了仓库的存储位置. 其中set…
1 什么是maven? Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理. Clean  compile  test  package  install   run 1.1 管理项目jar包 1.2 聚合项目(分布式开发) 1.3 继承(依赖传递)   2. Maven安装环境搭建 2.1 从官网下载maven的压缩包 从http://maven.apache.org/官网上下载最新版本的maven 2.2 本地安装jdk 要求版本是1.7以上,  步骤略 2.…
maven是什么 maven是 构建工具 依赖关系工具 项目信息管理工具 而JAVA世界的ant只是一个构建工具,不具备依赖管理的功能,需要配合使用ivy进行依赖管理. maven的安装 下载maven,配置环境变量.升级的技巧:使用符号链接,环境变量指向符号链接,升级的时候修改符号链接即可. maven使用入门 手动搭建maven项目 编写pom 编写主代码和测试代码 使用ArcheType创建maven项目骨架 命令如下mvn archetype:generate实际上上述命令的完整格式是:…
maven将一系列的步骤都封装为一系列的插件,运行命令后一系列的插件运行…
一个Spring加载属性的工具类,指定目标位置之后可以用${}的方式加载配置文件 测试maven工程发送email的例子:运行成功的例子—github 常用的命令: mvn clean compile mvn clean test mvn clean package mvn clean install mvn archetype:generate  生成一个maven骨架,不用每次一个个目录新建 <maven实战>第五章65页左右,这部分先有个概念,对依赖的概念,之后如果项目中碰到依赖的问题再…
环境变量设置 MAVEN_HOME:G:\maven-3.2\apache-maven-3.2.5 Path: G:\maven-3.2\apache-maven-3.2.5\bin 其实正确的设置应该是 : path:%GRADLE_HOME%\bin 这样将path配置成动态,不用每次修改对不对. 小想法:另外用windows开发是不是low爆了???我也想换,不过用着不顺手罢了.等以后再说吧. 升级maven的时候直接改变环境变量的指向即可 linux中可以直接用符号链接,当需要升级版本的…
什么是构建? 编译.运行单元测试.生成文档.打包和部署 Maven的应用: 构建工具 依赖管理工具 通过坐标系统定位到每一个构建(artifact) 项目信息管理工具 Maven对于项目目录结构.测试用例命名方法等内容都有既定的规则 约定优于配置(convertion Over Configuration) 免去了额外的学习成本 IDE的特显 编译.测试.代码生成等工作相对独立 Maven声明式 项目构建过程和过程中各个阶段所需的工作都有插件实现…
Maven的聚合特性能够把项目的各个模块聚合在一起构建,而继承特性则能够帮助抽取各模块相同的依赖和插件等配置,在简化POM的同时,还能促进各个模块配置的一致性. 5.1 聚合 Maven聚合也称多模块,能够一次构建多个模块.聚合模块本身是一个Maven项目,所以也有自己的POM文件,该POM文件的packaging为pom,并且含有<modules>和<module>元素,如: <project xmlns="http://maven.apache.org/POM/…
Maven为了支持构建的灵活性,内置了3大特性,即:属性.Profile和资源过滤. 6.1 Maven属性 Maven的属性与Java代码的常量有异曲同工之妙,都是为了消除重复,对相关内容进行统一管理并且可以减少日后升级版本的工作量,降低错误发生的概率. 在POM文件中,可以通过${属性名称}的方式来引用属性. 在Maven中,存在6类属性,分别为: 1) 内置属性,主要有两个,分别为:${basedir}表示项目根目录,即POM文件所在的目录.${version}表示项目的版本. 2) PO…