纯手撸一个Maven项目
- 一、创建Maven工程目录
- 二、Maven项目构建命令
- 三、插件创建工程
- 1、创建java工程
- 2、创建web工程
- 3、对比java工程和web工程区别
一、创建Maven工程目录
- 按照下图所示的结构创建项目所需文件夹:
- 在Demo.java文件内输入以下代码:
package com.nsu;
public class Demo{
public String say(String name){
System.out.println("hello "+ name);
return "hello "+name;
}
}
- 在test的com.nsu路径下写测试代码DemoTest.java:
- DemoTest.java代码如下:
package com.nsu;
import org.junit.Test;
import org.junit.Assert;
public class DemoTest{
@Test
public void testSay(){
Demo d = new Demo();
String ret = d.say("maven");
Assert.assertEquals("hello maven",ret); // Assert.assertEquals(目标值,实际值);
}
}
- 在与src同级目录下新增pom.xml文件:
- 输入以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<!--Maven的pom版本号,与咱安装的Maven3.6.3没关系-->
<modelVersion>4.0.0</modelVersion>
<!--定义当前Maven项目隶属组织名称-->
<groupId>edu.nsu</groupId>
<!--定义当前Maven项目名称-->
<artifactId>project-java</artifactId>
<!--定义当前项目版本号-->
<version>1.0</version>
<!--定义当前项目的打包方式-->
<packaging>jar</packaging>
<!--项目所需的各种依赖-->
<dependencies>
<!--引入测试单元依赖包-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
到此一个Maven工程就搭建完毕了
二、Maven项目构建命令
- Maven构建命令使用mvn开头,后面添加功能参数,可以一次执行多个命令,使用空格分隔
mvn compile # 编译
mvn clean # 清理
mvn test # 测试
mvn package # 打包
mvn install # 安装到本地仓库
- 打开命令行进入到当前项目pom.xml 所在的目录下;windows直接在路径地方输入cmd即可直接打开;
- 输入命令
mvn compile
进行编译,此时会将我们项目所需的jar包全部下载到我们的本地仓库,此处截图内容较少的原因是我仓库很多jar包已存在:
3. 此时我们的项目目录下会多一个target,就是我们的编译文件。
4. 若我们编译的东西不想要了,就可以执行mvn clean
命令,执行后项目下对应的target目录也会对应消失;
5. mvn test
命令运行我们刚刚写的测试程序,并给出返回结果;
6. 当我们执行完毕后在项目目录下会形成详细的测试报告;
7. mvn package
打包命令,执行完后我们的target会出现我们当前项目对应的jar包,其中包含我们项目的源程序;
8. mvn install
将我们的jar包安装到我们的本地仓库;
三、插件创建工程
我们前面说的是,如何手工的一步一步创建工程,旨在让大家更好的理解其底层文件结构。Maven也提供了快速创建工程的插件供大家使用;
1、创建java工程
- 在命令行打开一个非Maven工程结构的文件夹,输入下面内容:
mvn archetype:generate -DgroupId=edu.nsu -DartifactId=java-project -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot -DinteractiveMode=false
- 执行完毕后就会在我们的目录下生成对应的项目文件:
2、创建web工程
- 同样打开一个非Maven项目结构的文件执行下边的命令;
mvn archetype:generate -DgroupId=edu.nsu -DartifactId=web-project -DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot -DinteractiveMode=false
- 执行结束后即可生成web工程的项目结构: