maven基础总结
一直在工程中使用maven,但是对于maven的概率还是非常的模糊,所以花了2个小时的时间,把maven的框架整理了一遍.
这篇的文章参考了许多资料,大部分是来自于网络的内容。
这篇的文章提到了maven的基本概念、maven项目的结构、maven的基本命令
资料汇总:
1:官方文档:http://maven.apache.org/
3: 入门使用文档:http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-2-405568-zhs.html
一:maven是什么?
Maven 是一个用java编写的一个项目管理和构建自动化工具,比如可以创建一个java项目,构建编译java项目,管理项目库等等功能
目的:
1:让构建过程变的简单
2:提供一个统一构建方法来构建工程
3:提供高质量的工程信息
4:为软件开发提供一个指导
5:允许提供添加新的功能
maven使用篇:
1:如何安装:安装maven是指在本机上安装maven工具,可以通过命令行来使用maven工具
在http://maven.apache.org/download.cgi 有针对win系统和unix系统的安装方法
2:配置maven
安装好后,如何使用maven呢?
先建立一个基本的mvn项目:
通过下面命令可以构建一个基本的mvn项目:
建立一个项目:
mvn archetype:create -DgroupId=com.demo -DartifactId=App
执行这个命令后成功后,就创建了一个基本的java项目:
里面除了基本的java代码坏,还有一个pom.xml文件
这个文件是来描述这个项目的配置文件:包括项目的名字、结构和依赖关系
说明: archetype是一个maven工具的插件,用来构建一个项目,java项目的基本结构有java简单项目、j2ee项目、Spring项目等等.通过这个插件都可以构造出
groupId:项目的java源代码的包名
artifactId:项目的名字
项目构建:
mvn packcage: 构建当前项目的命令
运行构建命令后,在项目的target下会出现下面的文件结构
构建后的结构包括classes文件、maven项目描述、测试报告、测试类文件和jar包.
下面的图片是构建过程的日志信息,从下面的日志可以看出构建的流程
构建流程:
-
process-resources 阶段:resources:resources : maven-resources-plugin:2.6:resources (default-resources) @ App
-
compile 阶段:compiler:compile :maven-compiler-plugin:2.5.1:compile (default-compile) @ App
-
process-classes 阶段:(默认无目标)
-
process-test-resources 阶段:resources:testResources:--- maven-resources-plugin:2.6:testResources (default-testResources) @ App ---
-
test-compile 阶段:compiler:testCompile:
-
test 阶段:surefire:test: maven-surefire-plugin:2.12.4:test (default-test) @ App ---
-
prepare-package 阶段:(默认无目标) :
-
package 阶段:jar:jar :maven-jar-plugin:2.4:jar (default-jar) @ App ---
需要重点掌握的
Pom用来描述一个工程对象模型:通过pom.xml文件定义项目的类型、名字和依赖关系
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.helloworld</groupId>
<artifactId>helloworld</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>helloworld</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>
2: Maven库
maven有一个非常值得称道的功能就是统一管理jar包,通常称为maven库。如果一个大项目有n个子项目的话,
都通过maven库来统一管理jar包
如果你 是win系统,那么在 C:\Users\username\.m2\repository 下可以看到项目所用到的jar包 .