maven学习(一)
这段时间看到大家对maven学习这么有兴趣,把自己学到的做个总结为大家分享学习心得。
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
maven是什么maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”。作为apache组织中的一个颇为成功的开源项目,maven主要服务于基于java平台的项目构建、依赖管理和项目信息管理。nmaven能干什么使项目构建构成更容易;提供统一构建系统(编译、测试、持续整合...);提供高质量的项目信息(依赖、报告、site...);提供开发的最佳实践指南;能无缝的加入新的特性
总的一句话:maven越来越流行了。
搭建环境
1,首先我们要去apache官网上下载maven
http://maven.apache.org/download.html,目前最新版为apache-maven-3.0.5
下载解压
2,配置环境变量和jdk/tomcat差不多
MAVEN_HOME : D:\apache-maven-3.0.2
MAVEN : %MAVEN_HOME%\bin
(可选) MAVEN_OPTS : -Xms256m -Xmx512m
3,在控制台下输入 mvn -version就可以看到安装maven成功了
好了环境搭建好了,
然后在我们自己的电脑上配置一个仓库,默认情况下,Win7和Winxp还是有点不一样 , Win7 ---C:\Users\用户名\.m2 , Winxp ---C:\Documents and Settings\用户名\.m2 。
。m2文件夹就是maven默认的仓库(简单理解为:存放从中心仓库下载下的jar包)
这里我选择配置一个自己的仓库,在d:/maven/repository
配置一个自定义的仓库
方法:
首先打开settings.xml,
这里我拷贝到了
配置本地仓库成功!
创建第一个hello world项目
首先我们先不结合ide学习maven,先用手工的方式创建maven项目
这里我首先建立一个目录,作为我们的工作空间,(和在eclipse选中的工作空间一样)
这里我在f盘下新建一个maven目录作为工作空间
cd到工作空间下:
在命令行上输入 :mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app 回车,
如果你是首次运行该命令(goal),maven将要花一些时间去把最新的工具包(Maven 把它叫作artifacts)下载到你的本地仓库。
命令执行完后你将看到maven生成了一个名为my-app的目录,这个名字就是你在命令中指定的artifactId,进入该目录,
其中:src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码,pom.xml是项目的项目对象模型(Project Object Model or POM)。
pom.xml 文件是maven对一个项目的核心配置,这个文件将包含你希望如何构建项目的大多数配置信息。
这里我列出一下pom.xml文件内容
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>my-app</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
然后我们看一下刚输入的命令:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app 回车,
执行Maven 命令(goal)archetype:create,并且设置了一些参数( -DgroupId=com.mycompany.app -DartifactId=my-app)
在这个命令中,前缀 archetype 是包含create命令的一个maven的plugin。这个goal命令根据项目原型(符合maven标准的项目模板)建立了一个简单的项目。
然后进入到my-app目录
输入mvn package
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
会打印出hello world
至此第一个helloworld项目完成了