Maven小白--Maven安装(五)

mac2024-03-24  33

一、下载

官网下载,这里下载的是3.6.0版本

二、安装

解压后放到要安装的位置,然后配置环境变量:(详见文档《Maven3.6.0设置说明.doc》)

变量名:MAVEN_HOME    变量值:E:\JavaInstall\Maven\Maven3.6\apache-maven-3.6.0-bin\apache-maven-3.6.0

变量名:path                      变量值:;%MAVEN_HOME%\bin;

测试是否安装成功:mvn -v 

..>mvn -v Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00) Maven home: E:\JavaInstall\Maven\Maven3.6\apache-maven-3.6.0-bin\apache-maven-3.6.0\bin\.. Java version: 1.7.0_80, vendor: Oracle Corporation, runtime: E:\JavaInstall\JDK\JDK7\jdk1.7.0_80\jre Default locale: zh_CN, platform encoding: GBK OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows" ..>

三、pox.xml文件基本结构

<?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"> --schemal约束 <modelVersion>4.0.0</modelVersion> <groupId>com.ly.firstMaven</groupId> --坐标 <artifactId>helloMaven</artifactId> --坐标 <version>1.0-SNAPSHOT</version> --坐标 </project>

四、使用

常用的maven命令:

mvn compile :编译 

mvn package:打包

mvn clean:清空target目录

mvn install:把自定义的maven项目,安装至本地仓库。

1、mvn compile :编译 

创建项目teach01,编写java文件,执行mvn compile,直到BUILE SUCCESS成功,生成target文件夹。

2、mvn test:自动完成测试

编写测试文件,执行mvn test,可以自动完成测试。如果测试文件  teach01\src\test\java\com\ly\maven\TestHelloMaven.java引入了外来依赖,比如junit,可以很明显的看到报错:程序包org.junit不存在。具体报错信息如下:

E:\学习文档\【5】Maven实战视频\源码\teach01>mvn test [INFO] Scanning for projects... [INFO] [INFO] --------------------< com.ly.firstMaven:helloMaven >-------------------- [INFO] Building helloMaven 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ helloMaven --- [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory E:\学习文档\【5】Maven实战视频\源码\teach01\src\main\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ helloMaven --- [INFO] Changes detected - recompiling the module! [WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent! [INFO] Compiling 1 source file to E:\学习文档\【5】Maven实战视频\源码\teach01\target\classes [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ helloMaven --- [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory E:\学习文档\【5】Maven实战视频\源码\teach01\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ helloMaven --- [INFO] Changes detected - recompiling the module! [WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent! [INFO] Compiling 1 source file to E:\学习文档\【5】Maven实战视频\源码\teach01\target\test-classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /E:/学习文档/【5】Maven实战视频/源码/teach01/src/test/java/com/ly/maven/TestHelloMaven.java:[2,1] 程序包org.junit不存在 [ERROR] /E:/学习文档/【5】Maven实战视频/源码/teach01/src/test/java/com/ly/maven/TestHelloMaven.java:[3,24] 程序包org.junit不存在 [ERROR] /E:/学习文档/【5】Maven实战视频/源码/teach01/src/test/java/com/ly/maven/TestHelloMaven.java:[6,10] 找不到符号 符号: 类 Test 位置: 类 com.ly.maven.TestHelloMaven [ERROR] /E:/学习文档/【5】Maven实战视频/源码/teach01/src/test/java/com/ly/maven/TestHelloMaven.java:[10,17] 找不到符号 符号: 方法 assertEquals(java.lang.String,java.lang.String) 位置: 类 com.ly.maven.TestHelloMaven [INFO] 4 errors [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.744 s [INFO] Finished at: 2019-10-31T13:37:36+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project helloMaven: Compilation failure: Compilation failure: [ERROR] /E:/学习文档/【5】Maven实战视频/源码/teach01/src/test/java/com/ly/maven/TestHelloMaven.java:[2,1] 程序包org.junit不存在 [ERROR] /E:/学习文档/【5】Maven实战视频/源码/teach01/src/test/java/com/ly/maven/TestHelloMaven.java:[3,24] 程序包org.junit不存在 [ERROR] /E:/学习文档/【5】Maven实战视频/源码/teach01/src/test/java/com/ly/maven/TestHelloMaven.java:[6,10] 找不到符号 [ERROR] 符号: 类 Test [ERROR] 位置: 类 com.ly.maven.TestHelloMaven [ERROR] /E:/学习文档/【5】Maven实战视频/源码/teach01/src/test/java/com/ly/maven/TestHelloMaven.java:[10,17] 找不到符号 [ERROR] 符号: 方法 assertEquals(java.lang.String,java.lang.String) [ERROR] 位置: 类 com.ly.maven.TestHelloMaven [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException E:\学习文档\【5】Maven实战视频\源码\teach01>

3、这时我们需要在pom.xml中添加依赖dependency,如:junit依赖

<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> </dependencies>

然后,再次执行mvn test,成功。

成功会显示:Failures: 0, Errors: 0, Skipped: 0。也可以文件中看到成功的消息;

如有报错,报错信息也会打印在此文件里(当然,控制台也会显示)。

4、mvn clean:清空target目录

5、mvn package:打包jar包

6、mvn install:把自定义的maven项目,安装至本地仓库。

 

五、仓库repository 引入仓库的概念。maven的核心就是仓库。仓库:相当于本地的jar包存储。首次使用,需要从网上下载所需jar包,后面使用过程中,首先在本地仓库检索是否存在,若存在,则使用本地仓库中的jar包,若不存在,则继续从网上下载。注意:自己写的程序,也可以打成jar包,执行mvn install 放到本地仓库中,供其他项目使用。且这种方式在实际操作中经常使用,是模块化的思想。大的项目分散为多个模块开发,最后统一,岂不美哉。使用方式为:在pom.xml中添加dependency引入模块(jar包)

最新回复(0)