maven是用来干什么就是多模块的项目管理
maven依赖主要是加GAV
依赖是可以传递
${project.groupId}
${project.version}
版本一般有三个数字->0.0.1
版本控制和版本管理是两个不同的概念,subsersion和svn 是做的版本控制。
版本管理指的是如何来有效的和设置版本名称
第一个数字是总版本号:分支版本号,小版本号-里程版版本
总版本号的变得:一般表示框架的变动
分支版本号变动:一般是指增加了一些功能
小版本号:在分支版本号上面进行bug的修复
里程碑:SNAPSHOT(快照版本,开发版本)->alpha(内部测试版本)->beta(外部的公测版本)->release->GA(非常稳定了)
release(相对已经发布了,可以用了),GA版本指(已经可以投入市场了)
版本的发布user0.0.1-SNAPSHOT—>user0.0.1-Release–>user1.0.1-SNAPSHOT
(trunk) –>user0.1.0-SNAPSHOT–>use0.1.0-Release
最后合并成user1.0.0-Release版本
推荐《版本控制之道》
我们的依赖包存在什么地方
是通过两个核心插件和仓库支持
仓库分为:
本地仓库(本机上的仓库 mvn install)、私有仓库(在服务器上 mvn deploy)、中心仓库(远程互联网,基本上提供了所有的jar包)
创建私有仓库
工具:nexus
局域网内的仓库
解压,然后把路径加入path中
有两版本:war版本 ,jetty版本
执行nexus命令
这个工具一般放在Linux中运用
修改wrapper.conf修改wrapper.java.command=java命令路径
配置步骤:
1.下载、配置环境变量
2.nexus install将nexus安装到windows服务中
3.修改conf/conf/wrapper.conf中wrapper.java.command变量(java命令所在路径)
4.nexus start
访问localhost:801/nexus/index.html访问工厂
它这个程序是用extjs写的
仓库讲解
1.host的仓库.内部项目的发布仓库(Releases、Snapshots、3rd party->第三方依赖的仓库,这个数据通常是有内部人员自行下载之后发布)
2.proxy的仓库(从远程中央仓库中寻找数据的仓库)–(Apache Snapshots 、Central、Codehaus Snapshots)
3.group仓库–》组仓库用来方便开发人员进行设置的仓库
设置仓库
设置仓库
<respository> <id>nexus</id> <name>Nexus Repository</name> <url>http://192.168.0.199:8081/nexus/content/groups/pulbic/</url> <releases><enabled>true</enabled></release> <snapshots>... </repository> <!--在settings.xml中设置--> <mirror> <mirror> <id>centrol</id> <mirrorOf>central,nexus</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://192.168.0.199:8081/nexus/content/groups/public</url> </mirror> </mirro>
私有工厂都需要设置镜像,改为<mirrorOf>*</mirrorOf>
settings.xml有两个一个maven里面的,(设置对所有机器起作用)
一个是工作空间的setting.xml,是对工作空间起效->用户版本的
私有仓库设置
-
更新私有仓库的索引(1.开关设置为true,2直接下载索引,放在中央仓库的索引存放位置)
-
设置镜像settings.xml ,<mirrors>标签为仓指定库设置镜像
-
在setting.xml配置仓库,此时本机中的所有maven项目都会去私有仓库查询
项目的发布
<distributionManagement> <respository> <id>user-release</id> <name>User Project Release</name> <url>http://192.168.0.199:8081/nexus/content/repositories/releases</url> </respository> <snapshotRespository> <id>user-snapshots</id> <name>User Project Snapshots</name> <url>http://192.168.0.199:8081/nexus/content/repositories/snapshots</url> </snapshotRespository> </distributionManagement>
-
设定release工厂和snapshots工厂
-
设置访问权限
在settings.xml配置
<servers>
<server>
<id></id>
<username</username>
<password></password>
</server>
</servers>
公共模块放到Releases中
创建项目工厂和设置权限
一般设置两类工厂releases和snapshots
-
创建两个工厂
-
配置权限
-
创建角色
-
创建用户
-
创建发布的工厂
公共模块在父项目中配置,单独的模块去子模块配置。
转载请注明:学时网 » maven听课笔记总结(二)