1、Maven能做什么
Maven是一个用java编写的编译、构建、部署工具,比ant强大,其实本人觉得Maven最大的一个作用是解决jar包问题,Maven有一个自己jar包库,你只需在配置文件中配置你用什么哪个jar包、什么版本,它能帮你从自己的jar库中下载,不需要自己一个个去各个开源网站下载。构建项目时,能自动将你使用的jar包打包到war中。
一篇比较好的介绍文章:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html
2、下载及安装
先到官网下载http://maven.apache.org/ ,如果是windows平台选择(Binary zip),linux选择tar.gz。
windows平台解压后,配置环境变量MAVEN_HOME,path中添加%MAVEN_HOME%\bin
,在命令行中运行:mvn -v 有显示代表安装成功。
3、eclipse插件m2e 安装及配置
m2e 是maven的eclipse插件,在eclipse中install new software,新增插件,url:http://download.eclipse.org/technology/m2e/releases
上面的地址是最新版的,想装历史版本,比如1.3,可以用http://download.eclipse.org/technology/m2e/releases/1.3
m2e:http://www.eclipse.org/m2e/
配置注意事项:
3.1)修改repository地址:
安装后,当使用maven构建或编译项目时,maven会将项目中依赖的jar先下载到本地的repository库中,默认的地址是:当前用户目录\.m2,例如windows XP中是
C:\Documents and Settings\你的当前用户\.m2
如果想修改repository,不想放到c盘,可以设置maven目录中的\conf\settings.xml,添加
这样,maven就会将jar包下载到以上目录中。
注意,还需要修改这个新目录中生成的的settings.xml,指向的地址跟上例一样。
3.2)、为了与外部的编译环境一致,最好不要使用插件自带的maven,而使用刚才下载安装的Maven环境,如下配置:
4、使用m2e插件创建maven项目
可参考 http://blog.csdn.net/anialy/article/details/8226887
5、构建项目
进入项目的根目录,然后运行 mvn package ,war包一般生产在项目根目录的target\下
加参数-X显示详细信息:mvn -X package
将依赖的jar包打进war,在pom.xml中添加
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
参考:http://lvjun106.iteye.com/blog/1849803
6、如何配置各项目使用的jdk
构建时有时会报错:Unsupported major.minor version 51.0
报这个错是因为maven所用的jdk版本号过低,项目中的某些类需要更高的JDK版本。
通过配置pom.xml,添加如下配置(注意,fork一定要为true)可以设置maven所有jdk
<configuration> <verbose>true</verbose> <span style="white-space:pre"> </span><fork>true</fork> <source>1.7</source> <target>1.7</target> <executable>c:/jdk1.7/bin/javac</executable> </configuration>
当然,也可以配置系统变量JAVA_HOME,因为maven默认使用JAVA_HOME的JDK
7、添加jar包
有些jar包在maven库中没有,例如oracle的ojbc,可以通过如下配置添加进去maven库
命令如下:
mvn install:install-file -Dfile=F:/ojdbc5-11.2.0.3.jar -DgroupId=com.oracle -DartifactId=ojdbc5 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true
然后再将jar包拷贝到对应的repository目录下