本文为博主辛苦总结,但愿本身之后返回来看的时候理解更深入,也但愿能够起到帮助初学者的做用.
转载请注明 出自 : luogg的博客园 谢谢配合!
与maven功能相似的技术,ant,gitjava
maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理.git
(jdk必须1.6以上)spring
1.解压
2.将须要的jar包放入m2文件夹,仓库
3.修改setting.xml,将localRepository
元素中的路径指向m2jar包路径
4.修改环境变量tomcat
setting.xml中配置仓库路径localRepository的时候千万别用中文路径eclipse
src/main/java : (Source Folder)存放项目的java文件
src/main/resources 存放项目的资源文件,如spring,hibernate的配置文件
src/test/java 存放全部的测试的java文件
src/test/resources 存放测试用的资源文件
target 项目输出位置
pom.xml 文件(坐标)maven
svn -v(ersion)svn
若没有安装成功,多是环境变量没有配置工具
pom.xml文件中每个jar包都有一个坐标
坐标是由groupId,artifactId,version,scop组成的,scope默认是compile.学习
groupId : 一个组织测试
artifactID : 项目名称
version : 版本号
JAR文件的名字 = artifactID-version
mvn compile : 编译,编译以后生成target目录,里边存放class文件.
mvn clean : 清空target目录
mvn test : 编译并生成报告
mvn package : 打包成jar包
mvn install : 将jar包部署到仓库
清理->编译->测试->报告->打包->部署
若是项目B须要依赖于项目A , 那么,在项目B的pom.xml中须要写入依赖关系 :
xml <dependencies> <dependency> //组名,基本一个组下边全部项目,groupID都同样 <groupId>com.itheima11</groupId> //项目名 <artifactId>Hello</artifactId> //版本号 <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies>
须要先建立一个workingSet
建立的时候,选择maven骨架,atrifactID为maven-archetype-quickstart
run as macen build, goals : 输入compile
建立maven项目以后,默认用的jdk1.5的版本,须要换成本机的jdk版本.
依赖的传递 : 若项目A依赖于项目B,项目C又依赖于项目A,那么项目C会去依赖于项目B的,
maven的继承 : 若项目Base中有junit依赖,HelloBase工程也有junit依赖,那么HelloBase依赖于Base的话,就不须要再写junit依赖了.继承了Base中的依赖.
咱们将基类Base中pom.xml中的<packaging>pom</packaging>
设置为pom格式, 在HelloBase工程下边,用parent的格式引入Base中pom依赖的包
xml <parent> <groupId>com.itheima11.maven</groupId> <artifactId>Base</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>
setting.xml的配置中, 先从本地库找对应的jar包,若是本地库找不到,就去网上找,配置了私服的话, 就去私服找,经过私服,去网上找.
私服的使用须要在setting.xml文件中配置.
修改setting.xml配置文件,
<servers> <server> <id>tomcat7</id> <username>admin</username> <password>admin</password> </server> </servers> <mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <mirror> <id>repo1</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo1.maven.org/maven2/</url> </mirror> <mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo2.maven.org/maven2/</url> </mirror> </mirrors>