Maven学习笔记-maven的标准目录结构

1.maven的标准目录结构

Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。如下所示:
在这里插入图片描述

目录目的
${basedir}存放pom.xml和所有的子目录
${basedir}/src/main/java项目的java源代码
${basedir}/src/main/resources项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java项目的测试类,比如说Junit代码
${basedir}/src/test/resources测试用的资源
${basedir}/src/main/webapp/WEB-INF}web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target打包输出目录
${basedir}/target/classes编译输出目录
${basedir}/target/test-classes测试编译输出目录
Test.javaMaven只会自动运行符合该命名规则的测试类
~/.m2/repositoryMaven默认的本地仓库目录位置

2.手动创建一个maven项目

2.1. 我们可以根据Maven的项目规范去手动创建一个maven项目,以便帮助我们进一步理解

  1. 手动在文件夹中创建maven项目的文件结构
    在这里插入图片描述
  2. 创建java包结构和.java文件
package com.hao.test;

public class Hello {
	public static void main(String[] args) {
		String name = "qianghao";
		System.out.print(name);
	}
}
  1. 创建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/xsd/maven-4.0.0.xsd">
 
    <!-- 模型版本 -->
    <modelVersion>4.0.0</modelVersion>
    <!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group -->
    <groupId>com.companyname.project-group</groupId>
 
    <!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
    <artifactId>hello</artifactId>
 
    <!-- 版本号 -->
    <version>1.0</version>
</project>

POM : project object model 项目对象模型,pom.xml对于maven项目来说是最重要的配置文件,所有有关于构建过程的配置都需要在该文件中进行配置。

2.2. 所有 POM 文件都需要 project 元素和三个必需字段:groupId,artifactId,version;

  • project:所有元素的跟标签;

  • groupId:该标签为工程组的标识,一般使用公司名称或域名;

  • artifactId:工程组下各个项目工程的标识,同一工程组下不同模块的项目就是靠该标签进行区分的;

  • version:工程的版本号;

我们可以把这三个必须字段看做是三维空间中的X、Y、Z坐标,我们可以根据一个固定的xyz定位到三维空间中的唯一一个点,同样的我们根据以上三个标签就在maven仓库中定位到任意一个唯一的项目
2.3. maven工程的坐标与maven仓库中路径的对应关系

<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>
    <!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group -->
    <groupId>com.companyname.project-group</groupId>
 
    <!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
    <artifactId>hello</artifactId>
 
    <!-- 版本号 -->
    <version>1.0</version>
</project>

我们可以根据Maven项目的坐标在本地仓库的根目录下找到我们的项目;

C:\Users\admin\.m2\repository\com\companyname\project-group\hello\1.0\hello-1.0.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mtag5OJ0-1592386817710)(en-resource://database/551:1)]

3.常用的Maven命令

有关编译、测试、打包等构建相关的命令都需要在pom.xml所在的目录下执行;在这里插入图片描述

  1. mvn compile。
    编译主程序项目源代码。这个命令会在maven项目下生成target文件夹和对应的classes文件夹,并生成对应的字节码文件
    在这里插入图片描述
    执行结果:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. mvn clean
    对项目进行清理,清理的过程中会删除刚才target目录下编译的内容。
    执行结果:
    在这里插入图片描述在这里插入图片描述

  3. mvn test-compile
    编译测试程序项目源代码。
    在这里插入图片描述
    执行结果:
    在这里插入图片描述在这里插入图片描述

  4. mvn test
    对项目的运行测试。
    执行结果:
    在这里插入图片描述

  5. mvn package
    package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
    执行结果:
    在这里插入图片描述
    在这里插入图片描述

  6. mvn install
    install命令会将我们自己创建的项目安装到本地maven仓库中

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值