• Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目【转】


    1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构:

    2.打开 pom.xml 文件,添加如下内容:

    复制代码
     1 <project xmlns="http://maven.apache.org/POM/4.0.0" 
     2         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     3         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     4     <modelVersion>4.0.0</modelVersion>
     5     <groupId>com.lt</groupId>
     6     <artifactId>mavenDemo2</artifactId>
     7     <packaging>jar</packaging>
     8     <version>0.0.1-SNAPSHOT</version>
     9     <name>mavenDemo2</name>
    10     <url>http://maven.apache.org</url>
    11     <dependencies>
    12         <dependency>
    13             <groupId>junit</groupId>
    14             <artifactId>junit</artifactId>
    15             <version>4.11</version>
    16         </dependency>
    17     </dependencies>
    18     <build>
    19         <finalName>mavenDemo2</finalName>
    20     </build>
    21     <!-- 设置编码 -->
    22     <properties>
    23         <project.build.sourceEncoding>
    24             UTF-8
    25         </project.build.sourceEncoding>
    26     </properties>
    27 </project>
    复制代码

    pom.xml文件简单解释(groupId,artifactId,version三个一起描述了项目的唯一标识):

    • groupId - 组名,主项目标识;
    • artifactId - 工程名,子项目(模块)标识;
    • packaging - 打包方式;
    • version - 版本;
    • name - 项目描述名;

    3.在 src/main/java/com/lt/maven 下新建 Hello.java 类文件,代码如下:

    复制代码
    1 package com.lt.maven;
    2 
    3 public class Hello {
    4     public String sayHello(String name){
    5         return "Hello "+name+"!";
    6     }
    7 }
    复制代码

    4.在 src/test/java/com/lt/maven 下新建 HelloTest.java 测试类文件,代码如下:

    复制代码
     1 package com.lt.maven;
     2 
     3 import org.junit.Test;
     4 import static junit.framework.Assert.*;
     5 
     6 public class HelloTest {
     7     @Test
     8     public void testHello(){
     9         Hello hello = new Hello();
    10         String results = hello.sayHello("coder");
    11         assertEquals("Hello coder!",results);        
    12     }
    13 }
    复制代码

    5.编译项目源代码。打开 cmd 窗口,进入 mavenDemo2 目录,执行 “mvn compile” 命令:

      Maven 的各种功能(包括 maven 的命令)都是通过插件的形式来实现的,使用 maven 构建项目,需要联网到 maven 中央仓库下载所需插件包,并保存到 maven 仓库,仓库默认位置为:${user.home}/.m2/repository,以后用到就不需要再重新下载。

    6.清理项目编译,执行 “mvn clean” 命令,将删除 target 目录:

    7.运行测试,执行 “mvn test” 命令:

    运行成功,将生成如下文件:

    8.打包项目,执行 “mvn clean package” 组合命令:

      Maven 自动帮我们完成项目的编译、测试、打包。

    运行成功,将生成如下文件:

    9.执行 “mvn install” 命令:

      看到的效果跟 mvn clean package 命令一样,但是我们打开仓库位置(${user.home}/.m2/repository/{groupId}/{artifactId}/{version}),可以看到项目被打包发布到了 maven 的仓库,以后其他项目需要依赖到这个项目,就可以通过在 pom.xml 文件中添加依赖来引用:

     

    • maven-metadata-local.xml - 记录了项目元数据,包括 groupId,artifactId,version。
    • mavenDemo2-0.0.1-SNAPSHOT.pom - 记录了 mavenDemo2 项目信息以及它的依赖,maven 通过这种方式解决传递依赖,即只要指明了对 mavenDemo2 的依赖,maven 会根据这个文件自动导入 mavenDemo2 对 junit 的依赖。

    10.Maven 的目录结构遵循一定的约定,所以我们可以通过下面的命令来自动创建这样的目录结构。执行 “mvn archetype:generate” 命令:

      选择项目骨架类型,直接回车,选择默认的 maven-archetype-quickstart ;选择版本,直接回车,默认选择第 6 项:

      接下来,录入项目相关信息,groupId,artifactId,version(默认1.0-SNAPSHOT),package(默认跟 groupId 一样:com.lt),接着确认:

  • 相关阅读:
    【转】 java中Class对象详解和类名.class, class.forName(), getClass()区别
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    107. Binary Tree Level Order Traversal II
    109. Convert Sorted List to Binary Search Tree
    108. Convert Sorted Array to Binary Search Tree
    110. Balanced Binary Tree
    STL容器迭代器失效问题讨论
    113. Path Sum II
    112. Path Sum
  • 原文地址:https://www.cnblogs.com/bluedy1229/p/3773787.html
Copyright © 2020-2023  润新知