maven分模块的开发项目,maven分模块的开发项目,maven分模块的开发项目!!!
1.下载maven
2.设置maven中的path类似java
3.本地仓库的安装
1.修改maven下的config下的setting文件指定本地路径(默认是.m路径为防止误删最好自己指定路径)
4.新建一个简单项目主要是pom.xml文件
groupId用来表示项目名称
artifacId用来表示项目模块的名称(maven是分模块管理的)建议使用 “项目的名称—模块名称”
version表示项目的版本号
自动加入依赖包
5.创建代码和测试代码
源代码应放到src/main/java中
源代码的资源文件应放到src/main/resources中
测试代码应放到src/test/java中
测代码的资源文件应放到src/test/resources中
6.运行maven
mvn clean –>表示运行清理操作(会默认把target文件夹中的数据清理)
mvn clean compile –>表示先运行清理之后,运行编译会将代码编译到target文件夹中
mvn clean test–>运行清理和测试
mvn clean package –>运行清理和打包
mvn clean install –>运行清理和安装,会将打好的包安装到本地仓库中,以便其他项目可以调用。
mvn clean deploy–>运行清理和发布(发布到私服上面)
7.maven的生成方式
由于maven有一些固定的生成方式,所以使用mvn archetype generate可以自动完成这个骨架的生成。
使用eclipse开发maven项目。
- 默认STS和MyEclipse都自带了maven的支持,如果是eclipse需要安装m2eclipse(百度好多方法,个人比较倾向下载解压方法具体百度一搜即可)。
- 在eclipse中首先要用自己安装的maven,打开eclipse进入点击Window点击preferences设置add添加已安装的maven并选择:
然后设置我们自己maven仓库设置setting(不要用其自带的)
maven3要点(依赖、仓库、生命周期和插件)(推荐一书maven实战 徐晓斌)
3.1.1依赖包的查询
1.所有依赖包都是通过坐标来进行存储的(GAV–>groupId、artifactId、artifactId、version)
2.有一些网上的仓库提供了坐标的查询如http://mvnrepository.com/
3.通过设置依赖
4. maven是如何搜索依赖的?首先会在本地仓库查询如果本地仓库没有,就去中央仓库查询 。
3.1.2依赖的传递性
1.依赖是会被传递
A–>C B–>A ==>B–>C(这种依赖是基于compile这个范围进行传递的)
对于依赖的传递而言,主要是针对compile作用域传递
2.传递性冲突问题
2.1.a–>b1.0 c–>b1.1 d–>a和c,在这种情况下d的pom中,哪个依赖先写就使用先写依赖的版本。如果d–>ab那么依赖版本是b1.0
2.2.a–>b1.0 c–>b1.1 d–>a和c–>b1.0 f–>d,c ,如果路径长短不一致那就选择小路径,则f–>b1.1。
2.3.如果希望精确的控制依赖包,可以使用依赖的排除功能进行控制。
3.1.3依赖的范围(默认的依赖范围是compile)
1、test范围指的是测试范围有效,在编译和打包时都不会使用 这个依赖。
2、compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去。
3、provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突。
4、runtime在运行的时候依赖,在编译的时候不依赖。
3.1.4聚合和继承
继承
依赖
3.1.5版本管理
总版本号.分之版本号.小版本号-里程碑版本
总版本的变动一般表示框架的变动
分之版本号:一般表示增加了一些功能
小版本:在分之版本上面进行的bug修复
里程碑:SNAPSHOT–>alpha–>beta–>release–>GA
xxx项目0.0.1-SNAPSHOT–>xxx项目0.0.1-Realease–>xxx项目1.0.0-SNAPSHOT(如果xxx项目0.0.1-Realease需要改动则–>xxx项目0.1.0-SNAPSHOT–>xxx项目0.1.0-Release)
3.2仓库
3.2.1本地仓库
3.2.2中心仓库
3.2.3私有仓库
局域网内部的仓库
1.nexus的安装
1)、下载并且解压缩
2)、将bin添加到环境变量
3)、nexus install将nexus安装到windows的服务中
4)、修改
(新版本的nexus可能不需要写此不,看是否能启动不能启动再修改 )
5)、nexus start启动服务
2.仓库的讲解(如果本地仓库搜索不好用请参考http://www.cnblogs.com/yjmyzz/p/3519373.html)
1)、host仓库,内部项目的发布仓库
2)、proxy的仓库。从远程中央仓库中寻找数据的仓库
3)私有仓库的设置
a.更新私有仓库的索引
或者直接下载索引,将其拷贝到中央仓库的索引存储中
b.设置镜像(设置setting.xml)
c.在settings.xml配置仓库,此时本机中的所有maven项目都会去私有仓库中查询依赖
4.项目的发布
1)设定release工厂和snapshots工厂
2)设置访问的权限
5.创建项目工厂和设置权限
1)创建两个工厂:release和policy的
2)配置权限
3)创建角色并且分配权限
4)创建用户
5)创建发布的工厂