首页 > 技术文章 > maven学习(1)-简介与安装

tenWood 2018-03-23 22:40 原文

一、Maven 简介

Maven 官网:http://maven.apache.org/

 

二、Maven 安装与配置

Maven 下载:http://maven.apache.org/download.cgi
首先要确定jdk 已经安装和配置
把maven 解压到放到D 盘
配置maven 环境变量:M2_HOME D:\maven\apache-maven-3.3.3

配置path:找到Path在环境变量值尾部加入:;%M2_HOME%\bin;  //前面注意分号

maven安装与配置参考博客:https://www.cnblogs.com/yyiou/archive/2017/08/22/7411409.html

 

三、Maven Hello World 实现

modelVersion:POM 模型版本4.0.0 固定
groupId:一般指某个公司或者某个组织的某个项目比如org.springframework
artifactId:一般指某个具体项目的某个具体模块比如spring-context
Version:项目的版本
Maven 常见命令
Mvn compile 编译
Mvn clean 清空
Mvn test 测试
Mvn package 打包
Mvn install 把项目安装到本地仓库
Mvn 远程仓库地址:http://mvnrepository.com/

maven仓库默认地址是C:\Users\CY\.m2\repository

我这边已经修改了maven仓库的地址:

E:\maven\apache-maven-3.3.3\conf\settings.xml中增加如下配置:

<localRepository>E:\maven\repository</localRepository>

 

运用的小例子:

根据maven的要求,手动新建如下项目:

新建HelloWorld项目,并且建好对应的文件夹:

HelloWorld\src\main\java  --- 实际写代码的地方

HelloWorld\src\test           ---测试代码的地方

HelloWorld\target            --- 项目编译后,文件存放的地方

 

1)新建HelloWorld.java:

package com.cy.helloWorld;

public class HelloWorld{

    public String sayHello(){
        return "Hello World!";
    }

    public static void main(String []args){
        System.out.println(new HelloWorld().sayHello());
    }
}
View Code

HelloWorld\src\main\java\com\cy\helloWorld

cmd中进入项目,输入:

编译:

F:\HelloWorld>mvn compile

编译成功后会发现多了如下class:

F:\HelloWorld\target\classes\com\cy\helloWorld\HelloWorld.class

2)mvn clean

F:\HelloWorld>mvn clean

就会把刚才的target文件夹删掉了;

3)新建HelloWorldTest.java:

HelloWorld\src\test\java\com\cy\helloWorld\HelloWorldTest.java

package com.cy.helloWorld;
import org.junit.Test;

public class HelloWorldTest{

    @Test
    public void testSayHello(){
        HelloWorld helloWorld=new HelloWorld();
        String result=helloWorld.sayHello();
        System.out.println(result);
    }
}
View Code

上面因为我们使用到了junit,要在pom.xml中添加依赖,在maven远程仓库地址http://mvnrepository.com/中输入junit,找到对应的版本,找到maven的依赖xml,可以直接复制,这是找到的:

<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

HelloWorld\pom.xml:

<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.cy.HelloWorld</groupId>
  <artifactId>HelloWorld</artifactId>
  <version>0.0.1-SNAPSHOT</version>

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

  </dependencies>
</project>

编译完后,运行:

F:\HelloWorld>mvn test

可以看到输出结果:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.cy.helloWorld.HelloWorldTest
Hello World!
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.049 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.553 s
[INFO] Finished at: 2018-03-23T22:39:16+08:00
[INFO] Final Memory: 12M/244M
[INFO] ------------------------------------------------------------------------

4)mvn package 运行后,会发现F:\HelloWorld\target下多了文件:

HelloWorld-0.0.1-SNAPSHOT.jar

 

四、Maven 本地仓库迁出C 盘

配置setting 文件
<localRepository>D:\maven\repository</localRepository>

上面三种已经修改了

 

推荐阅读