Maven是优秀的构建工具
现有的比较著名的构建工具有:Make,Ant
(Another Neat Tool),Maven;但是前两者是过程式的,maven则是面向对象的,我们只需要告诉maven what而不需要说明how,Maven的最大优点是
提供了中央仓库,能帮我们自动下载构件。
Maven与极限编程
- 简单。Maven暴露了一组一致、简洁的操作接口,能帮助团队成员从原来的高度自定义的、复杂的构建系统中解脱出来,使用Maven现有的成熟的、稳定的组件也能简化构建系统的复杂度。
- 交流与反馈。与版本控制系统结合后,所有人都能执行最新的构建并快速得到反馈。此外,自动生成的项目报告也能帮助成员了解项目的状态,促进团队的交流。
安装Maven
关键点:安装JDK,配置清楚JAVA_HOME,并且在Path变量中加入
%JAVA_HOME%\bin ,
解压Maven包,配置M2_HOME变量值为
%解压路径%
\apache-maven-3.x.y,在Path中加入
%M2_HOME%\bin
安装完成的截图:
安装m2eclipse
启动
Eclipse
之后,在菜单栏中选择
Help
,然后选择
Install New Software…
,接着你会看到一个
Install
对话框,点击
Work with:
字段边上的
Add按钮
,你会得到一个新的
Add Repository
对话框,在
Name
字段中输入
m2e
,
Location
字段中输入
http://m2eclipse.sonatype.org/sites/m2e
,然后点击
OK
。
在完成m2eclipse插件安装之后,由于maven是直接使用jdk进行对jar包和路径管理的,所以需要在eclipse安装目录下找到eclipse.ini文件,修改其中的启动项:
--launcher.XXMaxPermSize
256M
-vm
D:\DEV\myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin\javaw
-showsplash
org.eclipse.platform
-vm
D:\DEV\myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin\javaw
-showsplash
org.eclipse.platform
红字部分是需要插入的,D:\DEV\myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013是本人jdk的安装路径,即对应环境变量中的JAVA_HOME
安装完成m2eclipse插件之后就可以在eclipse中建立maven project了。
编写POM
Maven项目的核心就是pox.xml(Project Object Model),实现对maven的配置,包括项目的基本配置,dependency依赖,plugin插件等等。
具体的pom.xml的编写网上有很多参考。
由于本人正在学习ssh框架,参考了网上的资料用maven很轻松的实现了对jar包的引用,具体配置如下:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- MySQL database driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
<!--这里下面的两个dependency, servlet-api与jsp-api所需-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<!-- Spring3 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
<scope>runtime</scope>
</dependency>
<!-- Spring AOP dependency -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
<!-- hibernate support -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.3.Final</version>
</dependency>
<!-- slf4j-log4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<!-- struts 2.3.4 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.4</version>
</dependency>
</dependencies>
整合了struts2.3.4 + spring 2.5.6 + hibernate 3.6.3 + MySQL 5.1.9+ log4j 1.6.1
最后说一下,由于历史原因,maven默认的jdk版本比较低,所以需要我们自己在maven安装路径的conf文件夹下修改settngs.xml更改maven默认的jdk版本。
找到<profiles>节点,在节点内部插入:
<profile>
<id>jdk-1.6</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
</profile>
这样maven默认的jdk版本就变为1.6了