• maven学习(1)-简介与安装


    一、Maven 简介

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

    二、Maven 安装与配置

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

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

    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:UsersCY.m2 epository

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

    E:mavenapache-maven-3.3.3confsettings.xml中增加如下配置:

    <localRepository>E:maven
    epository</localRepository>

    运用的小例子:

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

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

    HelloWorldsrcmainjava  --- 实际写代码的地方

    HelloWorldsrc est           ---测试代码的地方

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

    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

    HelloWorldsrcmainjavacomcyhelloWorld

    cmd中进入项目,输入:

    编译:

    F:HelloWorld>mvn compile

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

    F:HelloWorld argetclassescomcyhelloWorldHelloWorld.class

    2)mvn clean

    F:HelloWorld>mvn clean

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

    3)新建HelloWorldTest.java:

    HelloWorldsrc estjavacomcyhelloWorldHelloWorldTest.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>

    HelloWorldpom.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 arget下多了文件:

    HelloWorld-0.0.1-SNAPSHOT.jar

    四、Maven 本地仓库迁出C 盘

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

    上面三种已经修改了

  • 相关阅读:
    ES6新特性:使用export和import实现模块化
    常见Linux/Unix开发辅助命令什锦
    Spark高速上手之交互式分析
    Lua中的元表与元方法
    explicit 构造函数
    【排序】基数排序(计数排序、桶排序)
    拓展训练—心得体会
    poj3411--Paid Roads(bfs+状压)
    点击单选button后的文字就可以选定相应单选button
    hdu 2349 最小生成树
  • 原文地址:https://www.cnblogs.com/tenWood/p/8635510.html
Copyright © 2020-2023  润新知