不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2018-06-05 15:13  分类:Java库/系统 

1. maven简介及优势

maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性利用maven自身及其插件还可以获得代码检查报告、  单元测试覆盖率、实现持续集成等等。

maven优势:

  • 1. 项目自动化编译部署

  • 2. 项目jar包的依赖管理

  • 3. 项目的插件管理

2. maven安装

2.1 下载并解压Maven3;

2.2 解压maven,重命名文件夹为maven-3.3.1,设置maven环境变量

安装目录: D:\tool\

环境系统变量 :   MAVEN_HOME= D:\tool\maven-3.3.1      PATH= %MAVEN_HOME%/bin;

 

2.3 安装完成,查看安装是否成功 mvn -v

   

3. maven系统配置

3.1 配置文件

文件路径:%MAVEN_HOME%/conf/setting.xml

配置本地仓库:localRepository节点,<localRepository>D:/dev/maven3Repository</localRepository>

中央仓库镜像:mirrors节点,可配置自己的中央仓库 (不配置的话 首次依赖默认会从官网下载maven依赖插件)

setting.xml配置文件:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"  
		  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
		  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">  
 
	<!-- 配置本地仓库 -->
	<localRepository>D:/dev/maven3Repository</localRepository>
	<mirrors>
		<!-- 默认走maven中央仓库 http://search.maven.org/,如果配置走镜像仓库
		<mirror>
			<id>indexNexus</id>
			<url>*****</url>
			<mirrorOf>central</mirrorOf>
		</mirror>
		-->
		
		<!-- 阿里云 Maven 镜像 -->
		<mirror>  
			<id>nexus-aliyun</id>  
			<mirrorOf>central</mirrorOf>    
			<name>Nexus aliyun</name>  
			<url>http://maven.aliyun.com/nexus/content/groups/public</url>  
		</mirror>
		
	</mirrors>
</settings>

4. maven jvm配置

在%M2_HOME%\bin 目录下找到文件mvn.bat,在MAVEN_OPTS下可配置maven jvm启动参数:

set MAVEN_OPTS=-Xmx1024m -Xms1024m -Xmn512m -Xss512k -XX:+DisableExplicitGC -XX:MaxPermSize=256m  

5. maven项目约定

约定大于配置:项目约定主要是规范开发人员编程,统一项目风格,简化操作和代码量。

maven也是这样的,约定如下图:

 

目录结构,其中pom.xml在其项目的根目录

     

6. maven常用命令

6.1 项目骨架是根据maven项目约定的规则来创建项目目录结构和资源文件

1). 快速创建项目命令:

mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=项目组 -DartifactId=项目名/模块名 -Dversion=1.0-SNAPSHOT -Dpackage=com.*.*  

2). 按模板向导创建:

生成java项目:

mvn archetype:generate -DarchetypeCatalog=internal -DarchetypeArtifactId=maven-archetype-quickstart

生成web项目:

mvn archetype:generate -DarchetypeCatalog=internal -DarchetypeArtifactId=maven-archetype-webapp

根据提示向导 填入groupId (项目组名) artifactId(项目唯一标示) version(版本号),这三个属性定义成maven的仓库中坐标:

6.2 常用命令

mvn archetype:generate  构建项目  
mvn clean       项目清理  
mvn compile     项目源代码的编译  
mvn test        项目单元测试的编译  
mvn package     项目打包  
mvn install             发布项目提交到本地仓库  
mvn deploy              发布项目到  
mvn jetty:run :        启动jetty容器    
mvn eclipse:clean :    清除eclipse的一些系统设置                 
mvn eclipse:eclipse :  生成 Eclipse 项目文件  

6.3 实用命令

mvn dependency:tree   查看依赖树  
mvn assembly:assembly 需要配assembly插件,可用于把指定文件进行打包 tar.gz,zip包  
指定maven参数:  
-DskipTests=true      默认不走单元测试  
-P local              选择资源文件类型 local,需在pom开启资源配置  

 

 

 

参考:http://yanan0628.iteye.com/blog/2270344