maven的下载与安装

maven是用于java的自动化构建工具。

  • 1、下载: http://maven.apache.org/download.cgi

    • 下载maven包,比如 apache-maven-3.6.1-bin.zip
    • 解压maven包至任意目标盘,得到的解压包为 apache-maven-3.6.1
  • 2、配置(需提前装好jdk)

    • 在电脑中配置以下环境变量

M2_HOME   D:\apache-maven-3.6.1

path      ;D:\apache-maven-3.6.1\bin
  • 3、测试是否安装成功

    • 在cmd控制台输入:mvn -v,然后回车,结果如下:

  • 4、maven常用命令

    • mvn compile
    • mvn clean
    • mvn test-compile
    • mvn test
    • mvn package
    • mvn install
    • mvn site
  • 5、打包jar到本地仓库(即向maven本地仓库安装jar包)


mvn install:install-file -DgroupId=imsdriver(jar包的groupId) -DartifactId=imsdriver(jar包的artifactId) -Dversion=1.0(jar的版本号) -Dpackaging=jar -Dfile=D:\jar\imsdriver.jar(jar包的具体路径)

例如,安装jar包lucene-analyzers-3.6.2.jar到当前目录,首先进入到jar包所在位置,然后使用命令:

mvn install:install-file -DgroupId=org.apache.lucene -DartifactId=lucene-analyzers-common -Dversion=3.6.2 -Dpackaging=jar -Dfile=lucene-analyzers-3.6.2.jar

  • 6、mvn archetype:generate #这个指令可以生成基本的maven工程的骨架





  • 7、mvn compile #这个指令的作用是编译源码(即main目录下的文件,生成class文件),进入刚才创建的maven工程的第一层目录使用该指令,执行效果如下:



  • 8、mvn test-compile #这个指令的作用是编译测试代码(即test目录下的文件),直接在maven工程的第一层执行该指令,执行效果如下:



  • 9、mvn test # 运行应用程序中的单元测试,同上执行,执行效果如下:



  • 10、mvn site # 生成项目相关信息(如,插件报告,依赖报告,概要版本,环境及版本信息等)

  • 11、mvn package #该指令的作用是生成 jar 文件(打包当前项目成jar包)



  • 12、mvn install #在本地maven仓库中安装 jar 文件



  • 13、mvn -Dmaven.test.skip=true #忽略测试文档编译

  • 14、mvn clean #清除target目录中的内容(会删除target目录及里面的所有内容),执行效果如下:

实际使用

1、与clean结合


mvn clean compile #编译java代码
mvn clean package #打包,打包当前项目成jar包
mvn clean test #进行单元测试代码执行 mvn clean deploy # 部署到版本仓库
mvn clean install # 安装到本地maven仓库中 mvn clean package -Dmaven.test.skip=true 跳过test打包

2、maven测试由插件maven-surefire-plngin支持。在约定大于配置的情况下,maven默认会去src/test/java中执行如下格式的文件Testxyz.java或者XyzTest.java。也就是以Test开头或者以Test结尾的文件。

  • 做单元测试时可以使用如下命令行:

mvn -Dtest=XyzTest test
  • 假如需要测试多个文件时,可以使用逗号或者星号进行指定,使用如下格式的命令行:

mvn -Dtest=Xyz1, Xyz2, Xyz3 test
mvn -Dtest=Xyz* test
  • 假如需要测试测试类中的方法,maven-surefire-plugin提供一个符号#,通过指定"[测试类]#[测试方法]",然后执行命令mvn -Dtest=ClasName#testMethod test
  • 也支持使用符号*,以类似正则表达式的形式匹配所有相关的方法,命令是 mvn -Dtest=ClassName#test* test

3、对测试代码打包

  • 1、在需要打包程序的pom.xml文件中配置打包信息,比如

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>
./src/main/resources/testng.xml
</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>

<suiteXmlFile>中的./src/main/resources/testng.xml 这个为执行程序的文件所在路径(相对于pom文件)

  • 2、在maven工程目录(即pom文件所在的目录)下执行打包命令:mvn clean package ,即会将程序打包成jar包

  • 3、或者,也可以用maven自带的工具打包,如下

  • 先点击clean,然后点击package,即完成打包

4、对接口开发代码(spring boot代码)打包

  • 1、在需要打包程序的pom.xml文件中配置打包信息,如下

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.course.Application</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>${project.basedir}/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>

若原有的pom文件中已有 <build> <plugins> 标签,则后续直接在<plugins>后面写<plugin>部分即可。

  • 其中<mainClass>com.course.Application</mainClass>这里写入口类(启动类)程序,包含完整的包名;其他的都是springboot框架代码打包的固定写法。

<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>

这里分别是jdk的版本和打包时用的字符编码。

  • <extdirs>${project.basedir}/lib</extdirs>这里是指保存程序类的目录,是固定不变的。

  • 2、执行 mvn clean package 命令打包

  • 打包后,会把程序中用到的所有依赖包也都打包到jar文件中了,所以最终得到的jar包会比较大。
  • 3、打包完后,运行jar包命令为:java –jar jar包.jar
  • 用该命令运行的jar包,与在编辑器中运行启动该工程应用程序效果一样。

maven的安装与使用(运行单元测试和打包等)的更多相关文章

  1. 使用Maven运行单元测试

    要通过Maven运行单元测试,发出此命令: mvn test 这会在你的项目中运行整个单元测试. 案例学习 创建两个单元测试,并通过 Maven 的运行它.参见一个简单的 Java 测试类: pack ...

  2. maven 学习---使用Maven运行单元测试

    要通过Maven运行单元测试,发出此命令: mvn test 这会在你的项目中运行整个单元测试. 案例学习 创建两个单元测试,并通过 Maven 的运行它.参见一个简单的 Java 测试类: pack ...

  3. MyEclipse下Maven的安装配置

    Maven常用命令: •mvn archetype:generate :创建 Maven 项目 •mvn compile :编译源代码 •mvn test-compile :编译测试代码 •mvn t ...

  4. Maven的安装、配置及使用入门

    Maven的安装.配置及使用入门 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与 ...

  5. maven的安装与使用

    一.Maven是什么 Maven是一个采用纯Java编写的开 源项目管理工具.Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义 ...

  6. maven的安装与配置使用

     一  maven的安装 1 在镜像(https://mirrors.tuna.tsinghua.edu.cn/apache/)中下载指定的版本(注意,Maven 版本与IDE版本应保持匹配). 2 ...

  7. Maven 的安装与配置

    最近公司需要新起一个项目,想使用maven+springmvc+spring+mybatis+mysql实现,以前我们的项目都是传统的老项目,没用过maven,Eclipse版本是GALILEO的,有 ...

  8. 项目管理工具Maven的安装与使用

    一.Maven的简介 1. 什么是maven 是Apache下的一个开源的项目,是纯java编写,并且只是用来管理java项目. 2. Maven的好处 maven项目管理jar节省磁盘空间 一键构建 ...

  9. Linux下Maven的安装与使用

    pache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供.基于项目对象模型(POM)概念,Maven利 用一个中央信息片断能管理一个项目的构建.报 ...

随机推荐

  1. Linux系统初学者的常见问题解决集结大全

    http://www.embeddedlinux.org.cn/html/xinshourumen/200809/22-86.html 一. 如何建立多用户 提醒大家一句,别一直使用root用户,因为 ...

  2. Java后端知识体系及路线【最新秘籍】

    第一层(基本语法)   第一层心法,主要都是基本语法,程序设计入门,悟性高者十天半月可成,差一点的 3 到 6 个月也说不准.如果有其他开发语言的功底相助,并且有张无忌的悟性与运气,相信第一层只在片刻 ...

  3. C++-POJ2960-S-Nim-[限制型Nim]

    每次只能从取集合S中个数的物品,其他和普通Nim游戏相同 预处理出每种物品堆的sg值,然后直接xor一下,xor-sum>0即必胜 #include <set> #include & ...

  4. socket 简单实现HTTP服务器

    # -*- coding: utf-8 -*- # @Time : 2019-07-17 1:39 # @File : 网络socket实现http服务器.py # @Software: PyChar ...

  5. spring项目中 通过自定义applicationContext工具类获取到applicationContext上下文对象

    spring项目在服务器启动的时候 spring容器中就已经被创建好了各种对象,在我们需要使用的时候可以进行调用. 工具类代码如下 import org.springframework.beans.B ...

  6. 剑指offer 面试题. 滑动窗口的最大值

    题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6 ...

  7. HTML连载61-焦点图、固定定位

    一.焦点图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  8. Redis09——事务(悲观锁、乐观锁)

    事务 定义: Redis事务是一个单独的隔离操作 ①事务中所有的命令都会被序列化.按照顺序执行 ②事务在执行过程中不会被其他客户端发送来的命令请求打断 作用: 串联多个命令防止别的命令插队 multi ...

  9. day14 tar

    04. 系统中如何对文件进行压缩处理 压缩的命令 tar 压缩命令语法: tar zcvf /oldboy/oldboy.tar.gz 指定要压缩的数据文件 z 压缩的方式 为zip c 创建压缩包文 ...

  10. Android开发实战——记账本(5)

    开发日志——(5)     今天打算将图标的功能实现,将打开图表的选项放在右上方,所以重写MainActivity中的onOptionsItemSelected方法.增添Chart选项 public ...