Maven是目前用的最多的一个项目管理工具,他是apache的一个项目。先介绍一下maven的安装。
1、从maven网站下载合适的maven版本,这里下载的是3.0.5,网址如下:http://maven.apache.org/download.cgi 。下载截图:
下载完成后,然后把apache-maven-3.0.5-bin.zip进行解压,然后把解压完成的文件夹拷贝到要安装maven的地方,这里我们直接安装在d盘的根目录。如下图所示:
然后把maven的安装目录放到windows的环境变量里。如下图所示:
添加完成后,接着把mavenbin目录放到windows的path中。如下图所示:
完成以上的操作后,maven3.0.5就算安装完成了,这时打开命令窗口,在窗口中输入mvn -v,就可以查看maven的一些信息了,如下所示:(这里要确保java的环境变量已经设置,要是没有设置java环境变量,会出现错误,java环境变量设置网上多的是)
下面来了解一下maven的基本使用,从而对maven有一个直观的了解。
首先新建一个简单的maven项目,在电脑中的D般建立以下目录D:\item\maven\maven-ch01,建立安成后在maven-ch01目录下新建一个pom.xml文件,如下所示:
<?xml version="1.0" encoding="utf-8"?> <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>cn.szzx.maven</groupId> <artifactId>maven-ch01</artifactId> <version>0.0.1-SNAPSHOP</version> </project>
然后在D:\item\maven\maven-ch01\src\main\java\cn\szzx\maven目录新建一个java文件,如下所示:
package cn.szzx.maven; public class HelloMaven{ public String sayHello(String name){ return "hello:"+name; } }
这时就可以对类HelloMaven进行编译了,编译的方法是,打开命令行窗口,进入项目maven-ch01所在的目录,在里面输入命令:mvn compile,如下图所示:
执行mvn compile后,maven会执行一些操作,这些操作主要是maven要从mvn仓库里下载一些compile所要依赖的包。并且对类HelloMaven进行编译,如下图所示:
这时在项目maven-ch01目录下会多出一个文件夹target,如下图所示:
在目录target目录下有一个class目录里面存放了类HelloMaven.java的编译类HelloMaven.class文件,这个class文件是由mvn compile命令生成的。接着对类HelloMaven.java进行测试,在D:\item\maven\maven-ch01\src\test\java\cn\szzx\maven目录新建一个测试类TestHelloMaven.java的类,
代码如下:
package cn.szzx.maven; import org.junit.*; import static org.junit.Assert.*; public class TestHelloMaven{ @Test public void testSayHello(){ HelloMaven hm = new HelloMaven(); String str = hm.sayHello("maven"); assertEquals(str,"hello:maven"); } }
然后对项目maven-ch01执行测试,在命令行窗口中输入mvn test,这时会出现一个找不到junit的错误,如下图所示:
这是因为maven并不知道junit在什么位置,以及我们找junit的版本是什么,我们需要在pom.xml文件中使用dependencies对junit的信息进行配置,在dependency中指出了要加载的junit包的坐标,即名称与版本的信息。在这里面配制完成后,maven就知道程序在使用中要依赖这个jar包,然后会从mavn的仓库中去下载。如下所示:
<?xml version="1.0" encoding="utf-8"?> <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>cn.szzx.maven</groupId> <artifactId>maven-ch01</artifactId> <version>0.0.1-SNAPSHOP</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> </dependencies> </project>
上面的执行完成后,接着在命令行窗口中执行mvn test命令。这时就会出现如下所示,去仓库中下载junit去了。
接着会下载一些别的东西,当所有的依赖下载完成后,就会出现如下所示内容:
代表执行了一个测试成功,并且没有错误。这时如果把测试代码修改成以下的内容。即画红的地方做了修改。然后再执行 mvn test ,
这时会打印出出错的信息,以及出错信息所在的位置,如下所示:
这时会在D:\item\maven\maven-ch01\target\surefire-reports目录里有一个测试的报告,里面就写明了本次测试是否正确完成,如果没有,错误是什么,都会在这里面指出来。运行完成后在D:\item\maven\maven-ch01\target目录里就会多出一个压缩文件,如下图所示:
它把项目mavn-ch01打成一个jar包。这个jar包在别的地方就可以使用。为了测试jar包的使用情况,这里接着建第二个mavn项目。其结构如下,在D:\item\maven\maven-ch02项目,然后在里面新建一个pom.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?> <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>cn.szzx.maven</groupId> <artifactId>maven-ch02</artifactId> <version>0.0.1-SNAPSHOP</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> </dependencies> </project>
然后新建一个Hello.java的类,内容如下:
package cn.szzx.maven.ch02; import cn.szzx.maven.HelloMaven; public class Hello{ public String say(String name){ HelloMaven hm = new HelloMaven(); return hm.sayHello(name); } }
然后在命令行中转到mavn-ch02目录,执行命令mavn compile命令,会出现错误,提示找不到类HelloMaven类的错误,如下所示:
这时在项目maven-ch02的pom.xm文件中加入对maven-ch01项目依赖的jar包代码,如下所示:
<?xml version="1.0" encoding="utf-8"?> <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>cn.szzx.maven</groupId> <artifactId>maven-ch02</artifactId> <version>0.0.1-SNAPSHOP</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> <dependency> <groupId>cn.szzx.maven</groupId> <artifactId>maven-ch01</artifactId> <version>0.0.1-SNAPSHOP</version> </dependency> </dependencies> </project>
然后把项目maven-ch01的jar包安装到本地的maven仓库中,在命令行中,转到maven-ch01目录,然后执行mvn install,如下图所示:
这样就可以把mavn-ch01项目的jar包就可以放到mavn本地库中,maven本地仓库默认在以下目录里。如下图所示:
上面的命令就可以把项目maven-ch01打成的包放到本地仓库里。这样接着回到maven-ch02目录接着执行命令mvn compile,这时就能正常通过。
有了这个功能后,以后所有的项目可以做成模块,然后再把这些模块打成jar,再依赖进别的项目。maven给我们带来很大的好处。并且我们不需要在maven中引入jar包,
接着我们使用 mvn package 命令,直接在命令提示行中输入这个命令就可以了。这个命令可以把我们的项目打成一个包,maven运行时它是先编译,然后测试,然后才进行打包。
在一个公司中,如果把项目放在svn上,公司来了个新员工,那么他需要从svn上把项目弄下来,然后再进行,配置,如果我们有了mavn,就不需要这样做了,mavn就直接帮我们做了这些。
mvn compile 编译
mvn test 测试
mvn install 安装jar包到本地仓库
mvn clean 清除日志。
相关推荐
1. Maven概述:介绍Maven的历史、目标以及核心概念,比如“约定优于配置”的原则。 2. Maven环境设置:包括系统要求、如何验证Java安装、设置JAVA环境变量、下载和解压Maven档案文件、设置Maven环境变量以及如何...
1. Maven概述: Maven的核心是项目对象模型(Project Object Model,POM),这是一个XML文件,包含了项目的基本信息、依赖关系、构建指令等。通过POM,Maven能够理解项目的结构和需求,从而自动执行构建过程。Maven...
** Maven 概述 ** Maven 是一个强大的项目管理和构建工具,主要应用于Java开发环境。由Apache软件基金会开发,它的核心理念是通过提供一个标准化的项目对象模型(Project Object Model,POM)来管理项目的构建、...
#### 一、Maven概述与安装目录介绍 Maven是一款流行的自动化构建工具,广泛应用于Java项目的构建过程中。它通过一种项目对象模型(Project Object Model,简称POM)来管理项目的构建过程及其依赖关系,极大地简化了...
** Maven 概述** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过使用一个统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务。Maven 3.5.2是Maven的一个稳定版本,包含了众多...
【 Maven 概述】 在软件开发中,尤其是在Java领域,我们常常面临一系列问题,如环境配置差异、依赖管理混乱以及项目构建的繁琐等。这些问题在 Maven 出现后得到了很好的解决。Maven 是一个强大的项目管理工具,由 ...
【 Maven 概述】 Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过提供一套标准化的构建过程,使得项目配置、依赖管理变得简单易行。Maven 的核心理念是“约定优于配置”,这意味着它有一套...
【 Maven 学习资源概述】 "Maven学习视频源码与笔记_第二部分"是一套针对Maven技术的深度学习资源,包含视频教程、源代码以及配套笔记,旨在帮助开发者更全面地理解和掌握Maven在实际项目中的应用。Maven是一个强大...
#### Maven概述:约定优于配置的构建工具 Maven是一种遵循“约定优于配置”原则的项目管理和综合工具。这一理念意味着Maven通过预设的构建规则和项目结构来减少配置工作,使得开发者能够更专注于业务逻辑而非繁琐的...
**Maven学习笔记** Maven是一个强大的项目管理工具,它主要应用于Java开发环境中,用于构建、管理和部署项目。Maven通过使用一个标准的目录结构和一个XML格式的项目对象模型(Project Object Model,POM)文件,...
** Maven 概述 ** Maven 是一个基于项目对象模型(Project Object Model,POM)的概念,用于管理和构建 Java 项目的工具。它由 Apache 软件基金会开发,旨在简化项目构建过程,通过自动化构建流程,使开发者可以...
** Maven 概述 ** Maven 是一个Java项目管理和综合工具,由Apache软件基金会开发。它简化了构建、依赖管理和项目文档的生成过程。Maven使用一个统一的项目对象模型(Project Object Model,POM),使得项目的配置...
** Maven 概述 ** Maven 是一个Java项目管理和综合工具,由Apache软件基金会开发。它简化了构建、依赖管理和项目文档的生成过程。Maven 3.6.3是该工具的一个稳定版本,提供了许多改进和修复,使得开发者能够更高效...
** Maven 概述 ** Maven 是一个Java项目管理和综合工具,由Apache软件基金会开发。它简化了构建、依赖管理和项目文档的生成过程。Maven3.9.6是Maven的一个版本,提供了许多增强的功能和修复了之前版本的一些问题。 ...
** Maven 概述 ** Maven 是一个强大的项目管理和构建工具,主要应用于Java项目。它通过提供一套统一的构建过程和约定,简化了项目的构建、依赖管理以及文档生成。Maven 的核心理念是“约定优于配置”,即在不进行...
** Maven 概述 ** Maven 是一个项目管理和综合工具,由 Apache 软件基金会开发,主要用于构建、管理和部署 Java 项目。它通过提供一套标准化的构建过程,简化了项目的构建配置,使得开发者可以专注于编写代码,而...