maven的学习开发教程

本文主要介绍的是maven的开发教程 1.接受maven的安装  目录结构 以及setting.xml 全局配置文件的社设置(重要)   后续会介绍Eclipse 整合maven的开发
下面直入正题

  1. maven的介绍

  2. maven的安装配置

  3. 创建maven工程

概述:简单的讲基于maven 的开发有很多好处  多团队的开发过程中 开发环境必须要统一  基于这种需求所以项目的开发环境的配置就自然而然的配置在maven的工程中 而且如果本地环境不能满足maven的配置需求  则maven的强大功能 则会从网络上下载环境资源   而且开发过程中我们可以把我们的项目打包 安装到本地仓库 然后让别的工程依赖  这样的高敏捷度  也是分能够体现Maven 的有益的设计思想。。下面的我们将开始入门级的教程开发

 什么是项目的构建

 


所谓的构建就是项目从零开始直至开发完成部署到生产环境的过程

常见项目的构建方式

  1. Eclipse

    使用eclipse进行项目构建相对来说步骤比较零散不好操作

  2. Ant

    它是一个专门的项目构建工具它可以通过一些配置来完成项目构建这些配置要明确的告诉ant源码包在哪目标class文件应该存放在哪?资源文件应该在哪

  3. gradle (android studio)as开发的构建方式 

  4. Maven

    它是一个项目管理工具他也是一个项目构建工具通过使用maven可以对项目进行快速简单的构建它不需要告诉maven很多信息但是需要安装maven去的规范去进行代码的开发也就是说maven是有约束。

首先下载maven 官网下载即可 我这用的是3.0版本的其他的大同小异  现在最新的开发工具也会自动整合maven最新插件  所以没有必要研究高版本


1,2解压即安装

3.配置maven的环境变量MAVEN_HOME PATH中添加maven的bin目录



4:测试maven是否安装成功在系统命令行中执行命令mvn –v 显示maven 的版本


1.1 配置maven

maven中有两个配置文件用户配置全局配置(默认)

1.1.1 全局配置

maven安装目录的conf里面有一个settings.xml文件这个文件就是maven的全局配置文件

 

该文件中配置来maven本地仓库的地址

 

 

默认在系统的用户目录下的m2/repository该目录是本地仓库的目录

 

 

 

1.1.1 用户配置

用户配置文件的地址~/.m2/settings.xml该文件默认是没有需要将全局配置文件拷贝一份到该目录下

 


重新指定本地仓库地址如果不指定则默认是~/.m2/repository目录,如果用户配置文件不存在,则使用全局配置文件的配置。


在setting.xml 文件中在指定自己的 仓库地址<localReposity>用户仓库的目录</localRepositry> 该目录就是指定的maven工具在构建工程时候依赖的进行下载的目录  它是以坐标的方式进行安放的  我经常称之为GAV 后面会详细介绍坐标的概念

Project

|--src(源码包)

|   --main(正常的源码包)

|              --java.java文件的目录)

|              --resources(资源文件的目录)

|      --test(测试的源码包)

|           --java

|         --resources

|--targetclass文件、报告等信息存储的地方)

|--pom.xmlmaven工程的描述文件)

我们创建的maven的工程基本上就是这个目录
 下面是pom文件的介绍

<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.kidcools.maven</groupId>
	<artifactId>MavenSecond</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<dependencies>
		
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
		    <!-- 配置是有使用tomcat7 运行项目 -->
			<plugin>
				<!-- 配置插件 -->
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<configuration>
				    <!-- 端口随意 -->
					<port>80</port>
					<path>/</path>
				</configuration>
			</plugin>
		</plugins>

	</build>

</project>

<groupId>com.kidcools.maven</groupId>
<artifactId>MavenSecond</artifactId>
<version>0.0.1-SNAPSHOT</version>
这就是我所称的GAV  maven 的设计思想就是通过这三个因素定义一个唯一的依赖的库

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
</dependency>
这样就会指顶该工程依赖junit 4.9  项目真正编译的时候maven 会先从把本地仓库查找 没有的话在不考虑私服的情况下 会向maven的官方的公共服务器下载 相关的 依赖 并保存到本地仓库中  相当于一个本地缓存
在src main下创建代码

package com.kidcools.maven;

public class MavenFirst {
	public String  helloMaven(){
		return "helloMaven";
	}
}

在src test下创建代码

package com.kidcools.maven;

import org.junit.Test;

import junit.framework.Assert;

public class TestMavenFirst {
	@Test
	public void testHelloMaven(){
		MavenFirst first = new MavenFirst();
		String str = first.helloMaven();
		Assert.assertEquals("helloMaven", str);
	}
}



下一步就是 关键了   就是如何使用maven构建该工程 并且执行测试

1。cmd 到跳转工程所在的根目录下 执行mvn -compile 命令  maven就会自动编译构建该项目 并且将生成的class 文件 一级其他的资源文件 防盗target目录下 

再联网情况下 并且 首次执行令 maven会从网上下载命令需要的相关jar
成功后 console 会显示

[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building MavenFirst 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ MavenFirst ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ MavenFirst ---
[INFO] Nothing to compile - all classes are up to date
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.540s
[INFO] Finished at: Wed Mar 08 10:48:49 CST 2017
[INFO] Final Memory: 7M/182M
[INFO] ------------------------------------------------------------------------


然后执行的mvn test命令 也就是将该工程下test目录下的测试文件进行测试 

以上所需要的命令 下篇我会详细解释

至此 一个简单的maven工程创建完毕  不为别的就是让想了解maven的初学者有一个感性的认识   下篇我会介绍maven的一些常见的命令  和eclipse整合的方式以及配置 以及依赖 继承 坐标一些核心的概念和思想 最后会为大家创建一个聚合工程 演示Maven工程创建的优异性。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值