史上最全的 Maven 教程 - 04 - 约定的目录结构 / 常用的 Maven 命令

版权声明:原创不易,转载请添加文章原链接,谢谢 https://blog.csdn.net/zhongxi7860/article/details/82318637

约定的目录结构

这是 Maven 项目约定的目录结构:

    项目名
    |------src    (源码)
    |-------|------- main   (存放主程序类)
    |-------|--------|-------java   (存放 Java 源文件)
    |-------|--------|-------resources    (存放框架以及其他工具的配置文件)
    |-------|-------test    (存放测试程序)
    |-------|--------|-------java
    |-------|--------|-------resources
    |------pom.xml   (Maven工程的核心配置文件)

为什么要遵守约定的目录结构呢?

Maven 要负责我们这个项目的自动化构建, 以编译为例, Maven 想要自动进行编译, 那么他必须知道 Java 源文件在哪里.
如果我们自己定义的东西想要框架或者工具知道, 那么有两种办法:
① 以 xml 配置文件的方式告诉框架.
② 遵守框架内部已经存在的定义.

手动编写第一个 Maven 工程

(1) 首先先创建约定的目录结构

手动创建 Maven01 文件夹, (作为项目名), 在其下面分别创建 src 文件夹 和 pom.xml 文件
在 src 文件夹下分别创建 main 和 test 文件夹,
在 main 和 test 文件夹分别创建 java 和 resources 文件夹.
这里写图片描述
(2) 在项目名文件夹下, 即 src 的同级目录中创建 pom.xml 文件.

<?xml version="1.0" ?>
<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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <!-- 所有的Maven项目都必须配置这四个配置项 -->
    <modelVersion>4.0.0</modelVersion>
    <!--groupId 公司名倒叙 + 项目名-->
    <groupId>it.sgy.Maven01</groupId>
    <!-- 当前项目的模块名 -->
    <artifactId>Maven01</artifactId>
    <!-- 当前项目的版本 -->
    <version>0.0.1-SNAPSHOT</version>

</project>

(3) 在 src / main / java 目录下, 创建 Hello.java 文件

package it.sgy;

class Hello{
    public static void main(String[] args){
        System.out.println("Hello Maven");
    }
}

又因为该 java 文件存在包结构, 所以还要把包结构对应的文件目录创建出来.

手动在 src / main / java 目录下, 创建 it / sgy 目录, 并把该 java 文件放在里面.

这里写图片描述

(4) 在 pom.xml 文件的目录处, 打开 cmd .
输入命令 mvn compile 对 java 文件进行编译.
这里写图片描述
(5) 编译成功之后, 在项目的根目录下会生成一个 target 文件夹. 存放编译之后的 class 文件.
这里写图片描述

(6) 输入命令 mvn clean 删除编译生成的 target 文件夹

这里写图片描述

常用的 Maven 命令

执行与构建过程相关的 Maven 命令, 必须进入 pom.xml 文件所在的目录.

常用命令:
mvn compile 编译主程序
mvn test 执行测试
mvn test-compile 编译测试程序
mvn clean 清理
mvn package 打包
mvn install 安装, 执行此命令可以把我们自己的程序放置在本地仓库.
mvn site 生成站点

猜你喜欢

转载自blog.csdn.net/zhongxi7860/article/details/82318637
今日推荐