maven学习笔记2

来源:互联网 发布:废铁战士淘宝店怎么样 编辑:程序博客网 时间:2024/05/16 19:55
mvn命令:
mvn -v 查看maven版本    test 测试    package 打包     clean 删除target    install 安装jar包到本地仓库中

mvn install  安装jar到本地仓库中,这样其他依赖该jar的项目就可以用到了。mav编译的流程是:编译代码---》发现缺少jar包-----》去pom文件中找依赖的坐标----》去本地仓库找依赖---》如果没有再联网去maven的中央仓库找

archetype插件,用于创建符合maven规定的目录骨架
maven创建目录的两种方式1.archetype:generate 按照提示进行选择2.archetype:generate -DgourpId=组织名,公司网址的反写+项目名称-DartifactId=项目名-模块名-Dversion=版本号-Dpackage=代码所在的包名实例mvn archetype:generate -DgroupId=com.imooc.maven04 -DartifactId=maven04-demo -Dversion=1.0.0-SNAPSHOT -Dpackage=com.imooc.maven04-demo

项目管理利器(Maven)——maven中的坐标和仓库1、坐标。2、构件通过坐标作为其唯一标识。3、仓库:-本地仓库。-远程仓库:maven-model-builder-3.3.3.jar\org\apache\maven\model,超级pom.xml文件,全球中央仓库地址:https://repo.maven.apache.org/maven2-镜像仓库:/conf/setting文件:<mirror><id>maven.net.cn</id><mirrorOf>central</mirrorOf><name>central mirror in china</name><url>http://maven.net.cn/content/groups/public</url></mirror>4、修改本地仓库的位置:<localRepository>D:/Maven/repository</localRepository>Ps:一旦配置了镜像仓库,那么先前的所有配置都会转到镜像仓库中。 默认仓库位置.m2 repository,将settings.xml复制到更改后的本地仓库中,这样maven版本更新了,也不用修改settings.xml了
在eclipse中安装maven插件以及创建maven项目:①在eclipse4.0及MyEclipse中就不需要安装maven插件,在window--preference中可以查看是否有maven插件,没有的话就需要安装Maven插件,直接复制Maven插件到eclipse安装目录中的dropins中,然后修改eclipse.ini,在这个文件里的512m后面添加-vm,换行,再添加jdk/bin/javaw.exe保存。②eclipse是默认运行在jre之上的而maven需要jdk的支持,需要tools.jar在jdk/lib目录中,所以修改eclipse的JRE,java---Installed JREs--ADD--Next--把本地JDK的目录放到JRE home中,并设置Dmaven.multiModuleProjectDirectory=$M2_HOME--最后勾选JDK③更改maven本地的配置Installactions---ADD---把本地的maven目录放进去④修改setting的路径会出现的问题:1、如果版本不匹配 则mvn -v查看maven的jdk版本,然后在eclipse中配置当前使用的jdk2、run as-->Maven build...-->在goals中compile(可以在此处使用其他的命令,如:package)---》run若报-Dmaven.multiModuleProjectDirectory错误,则在选项-->java--》installed JRES 中设置jdk的参数,添加上“-Dmaven.multiModuleProjectDirectory=$M2_HOME”

pom.xml常用元素 modelVersion  指定了当前pom版本 groupId    反写的公司网址+项目名artifactId  项目名+模块名version     版本号  第一个0表示大版本号,第二个0表示大版本号,第三个0表示大版本号 0.0.1snapshot快照packaging   打包方式 默认是jarname       项目的描述名url       项目的地址description  项目描述developers   开发人员信息licenses    许可证信息 dependencies dependencyscope    依赖范围optional  设置依赖是否可选exclusion   dependencyManagement   依赖管理  不会被运行build     plugins  插件列表(指出坐标)parent    对父模块的继承modules   定义多个模块  一起进行编译

1.compile:默认范围,编译测试运行都有效2.provided:在编译和测试时有效3.runtime:在测试和运行时有效4.test:只在测试时有效5.system:在编译和测试时有效,与本机系统关联,可移植性差6.import:导入的范围,它只使用在dependencyManagement中,表示从其他的pom中导入dependency的配置

要点1:install指令能把项目打包到本地仓库,运行install指令,同时还运行了package打包。编译一个项目,如果存在依赖,首先会在本地仓库查找,如果没找到,直接到中央仓库查找,如果还是没找到,则报错。所以编译一个存在本地依赖的项目,本地依赖一定要运行install指令,把依赖的项目打包到本地仓库。要点2: 如果想排除某个依赖的项目,则需要在pom.xml添加exclusions标签,添加到已经添加了排除依赖的依赖里,把需要排除的依赖的坐标引进来。

依赖冲突不同版本的构件1.短路优先2.先声明先优先如果路径长度相同,则谁先声明,先解析谁