wxiao个人技术分享 wxiao的技术分享

创建Maven项目

⚠️ 本文最后更新于2024年08月16日,已经过了287天没有更新,若内容或图片失效,请留言反馈

1.创建Maven项目

1、创建一个空项目
image-20221201095621738.png

image-20221201095600057.png

2、创建模块,选择Maven,点击Next

image-20221201095831320.pngimage-20221201100011799.png

3、填写模块名称,坐标信息,点击finish,创建完成
image-20221201100502234.png

4、在Maven工程下,创建HelloWorld类
image-20221201101603397.png

image-20221201101643427.png

Maven项目的目录结构:
maven-project01

|---  src  (源代码目录和测试代码目录)
        |---  main (源代码目录)
                   |--- java (源代码java文件目录)
                   |--- resources (源代码配置文件目录)
        |---  test (测试代码目录)
                   |--- java (测试代码java目录)
                   |--- resources (测试代码配置文件目录)
|--- target (编译、打包生成文件存放目录)

5、编写 HelloWorld,并运行

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


2.POM配置详解

POM (Project Object Model) :指的是项目对象模型,用来描述当前的maven项目。

  • 使用pom.xml文件来实现

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/xsd/maven-4.0.0.xsd">
    <!-- POM模型版本 -->
    <modelVersion>4.0.0</modelVersion>

    <!-- 当前项目坐标 -->
    <groupId>com.itheima</groupId>
    <artifactId>maven_project1</artifactId>
    <version>1.0-SNAPSHOT</version>
    
    <!-- 打包方式 -->
    <packaging>jar</packaging>
 
</project>

pom文件详解:

project:pom文件的根标签,表示当前maven项目

modelVersion:声明项目描述遵循哪一个POM模型版本

虽然模型本身的版本很少改变,但它仍然是必不可少的。目前POM模型版本是4.0.0

坐标:groupId、artifactId、version

定位项目在本地仓库中的位置,由以上三个标签组成一个坐标

packaging:maven项目的打包方式,通常设置为jar或war(默认值:jar)


3.Maven坐标详解

什么是坐标?

  • Maven中的坐标是==资源的唯一标识== , 通过该坐标可以唯一定位资源位置
  • 使用坐标来定义项目或引入项目中需要的依赖

Maven坐标主要组成

  • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
  • artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
  • version:定义当前项目版本号

如下图就是使用坐标表示一个项目:
image-20220616111031057.png

注意:
上面所说的资源可以是插件、依赖、当前项目。
我们的项目如果被其他的项目依赖时,也是需要坐标来引入的。
By xiao On