Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目【转】
1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构:

2.打开 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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lt</groupId>
<artifactId>mavenDemo2</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mavenDemo2</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
<build>
<finalName>mavenDemo2</finalName>
</build>
<!-- 设置编码 -->
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
</properties>
</project>

pom.xml文件简单解释(groupId,artifactId,version三个一起描述了项目的唯一标识):
- groupId - 组名,主项目标识;
- artifactId - 工程名,子项目(模块)标识;
- packaging - 打包方式;
- version - 版本;
- name - 项目描述名;
3.在 src/main/java/com/lt/maven 下新建 Hello.java 类文件,代码如下:

package com.lt.maven;
public class Hello {
public String sayHello(String name){
return "Hello "+name+"!";
}
}

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

package com.lt.maven; import org.junit.Test;
import static junit.framework.Assert.*; public class HelloTest {
@Test
public void testHello(){
Hello hello = new Hello();
String results = hello.sayHello("coder");
assertEquals("Hello coder!",results);
}
}

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),接着确认:

Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目【转】的更多相关文章
- Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目
1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开 pom.xml 文件,添加如下内容: 1 <project xmlns="http://maven ...
- Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开pom.xml文件,添加如下内容: <project xmlns="http://maven.apa ...
- Docker系列二: docker常用命令总结
https://docs.docker.com/reference/ 官方命令总结地址 容器生命周期管理 1.docker run 创建一个新的容器并运行一个命令 docker run [optio ...
- Maven命令行创建java或javaWeb项目
Maven命令行创建java或javaWeb项目 1.命令行创建普通java项目 mvn archetype:generate -DgroupId=com.fxust -DartifactId=d ...
- maven一键构造及常用命令
maven一键构造及常用命令 1.maven的一键构建 我们不再使用本地的Tomcat对项目进行编译.测试.运行.打包.安装.部署等一系列过程,而是使用maven自身集成的Tomcat插件来完成这些操 ...
- 创建第一个Maven项目
-----------------------siwuxie095 创建第一个 Maven 项目 1.打开 Ec ...
- Git知识总览(二) git常用命令概览
上篇博客我们从 git clone 和 git status 两个命令开始,引出了一系列的git操作命令, 请参见:<Git知识总览(一) 从 git clone 和 git status 谈起 ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
- 手动创建第一个OC程序
手动创建第一个OC程序 创建一个文件夹,文件夹内创建一个a.m的OC源文件,并编辑 之前说过,OC是完全兼容C语言的,那么我们先写个下面的程序尝试一下 #include<stdio.h> ...
随机推荐
- Codeforces Beta Round #91 (Div. 1 Only) E. Lucky Array 分块
E. Lucky Array time limit per test 4 seconds memory limit per test 256 megabytes input standard inpu ...
- 数据库mysql中having 和where的区别
having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前.而 having子句在聚合后对组记录进行筛选. ...
- iOS - NSURLSession 网络请求
前言 NS_CLASS_AVAILABLE(NSURLSESSION_AVAILABLE, 7_0) @interface NSURLSession : NSObject @available(iOS ...
- Linux_文档编辑器_简介
1. vi 2. vim 3. ubuntu 有一个 自己的图形化的 文档编辑器,用起来比较方便: gedit 4. 5.
- Python学习(12)日期和时间
目录 Python 日期和时间 时间元组 获取当前时间 获取格式化时间 格式化日历 获取某月日历 Time模块 日历模块 其他相关模块和函数 Python 日期和时间 Python 程序能用很多方式处 ...
- caffe中的Blob块
首先说明:Blob定义了一个类模板. 让我们看一下Blob的头文件里有什么哈: 定义了一个全局变量: const ; 看看它的构造函数: Blob() : data_(), diff_(), coun ...
- Nginx + Tomcat 配置
Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启 ...
- DedeCMSV57数据库结构文档
表名:dede_addonarticle(ENGINE=MyISAM/CHARSET=gbk) 说明:Top 字段名 说明描述 具体参数 aid 文章ID mediumint(8) unsig ...
- 【转】 Live555
Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.Live555实现了对多种音视频编 ...
- linux笔记:权限管理命令chmod,chown,chgrp,umask
权限对文件和目录的含义是不同的:对文件来说:读:可以查看文件内容写:可以修改文件内容执行:可以执行文件对目录来说:读:可以列出目录中的内容写:可以在目录中创建.删除文件执行:可以进入目录 能够更改文件 ...