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)创建发布的工厂