maven官网http://maven.apache.org/
1,eclipse4.0以上或myeclipse免安装插件
查看方法Preferences->maven
2,安装方法
复制到eclipse->dropins目录下
3,配置jdk支持
1)eclipse.ini
-vm
..\jdk\bin\ 目录
2)java->installed jres 添加jre
3)修改maven->installations配置插件目录
4)maven->User Settings 修改repo/settings.xml
5)jre传参数Default VM Arguments
4,运行
runAs build.. (complate package命令)
maven常用构建命令
mvn -v (查看maven版本)
compile(编译)
test (测试)
package(打包)
clean(删除target)
install(安装jar包到本地仓库中)
ps:target包下是项目经过编译后的字节码文件和测试报告。
maven编译代码的流程:
1. 执行mvn compile 命令编译java代码文件;
2. 如果发现代码中引用到了其他的包文件(jar包);
3. 首先回去核心配置文件pom.xml文件中去查找相应的配置依赖;
4. 根据配置依赖先去本地的仓库中查找jar包资源;
5. 如果本地不存在,则会再去联网到maven的中央仓库中查找。
生命周期
1)clean 清理项目
pre-clean执行清理前的工作
clean清理上一次构建生成的所有文件
post-clean执行清理后的文件
2)default 构建项目(最核心)
compile test package install
3)site 生成项目站点
pre -site 在生成项目站点前要完成的工作
site 生成项目的站点文档
post-site 在生成项目站点后要完成的工作
site-deploy 发布生成的站点到服务器上
${M2_HOME}/lib/maven-2.0.10-uber.jar 里面\ org\apache\maven\project\pom-4.0.0.xml 配置的默认中央仓库地址
//默认
<repositories>
<repository>
<id> central</id>
<name> Maven Repository Switchboard</name>
<layout> default</layout>
<url> http://repo1.maven.org/maven2</url>
<snapshots>
<enabled> false</enabled>
</snapshots>
</repository>
</repositories>
//镜像
<settings>
…
<mirrors>
<mirror>
<id> maven-net-cn</id>
<name> Maven China Mirror</name>
<url> http://maven.net.cn/content/groups/public/</url>
<mirrorOf> central</mirrorOf>
</mirror>
</mirrors>
…
</settings>
配置详解参考http://blog.csdn.net/yiluoak_47/article/details/12068855
Pom.xml解析
<name>项目的描述名</name>
<url>项目的地址</url>
<description>项目描述</description>
<developers>开发人员信息</developers>
<licenses>许可证信息</licenses>
<!-- 依赖列表 -->
<dependencies>
<!-- 依赖项 -->
<dependency>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<type></type>
<scope>依赖的范围</scope>
依赖范围scope
1、compile:默认方位,编译测试运行都有效
2、provided:在编译测试时有效
3、runtime:在测试和运行时有效
4、test:只在测试时有效
5、system:在编译和测试时有效。与本机系统关联,可移植性差
6、import:导入的范围,它只使用在dependencyManagerment中,表示从其他的pom中导入dependency的配置
<optional>设置依赖是否可选,默认是false</optional>
<!-- 排除依赖传递列表 -->
<exclusions>
<exclusion></exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- 依赖的管理,一般定义在父模块中,由子模块去继承 -->
<dependencyManagement>
<dependencies>
<dependency></dependency>
</dependencies>
</dependencyManagement>
<!-- 对构建行为提供相应的支持 -->
<build>
<!-- 插件列表 -->
<plugins>
<plugin>
<!-- 指定坐标 -->
<groupId></groupId>
<artifactId></artifactId>
<version></version>
</plugin>
</plugins>
</build>
<!-- 一般在子模块中指定所继承的父模块 -->
<parent></parent>
<!-- 模块列表 -->
<modules>
<module></module>
</modules>