Maven《三》-- 基于Idea创建Maven工程

3.1 概念梳理Maven工程的GAVP

Maven工程相对于之前的项目,多出一组gavp属性,gav需要我们在创建项目的时候指定,p有默认值,我们先行了解下这组属性的含义。

Maven中的GAVP是指GroupId,Artifactid,Version,Packaging等四个属性的缩写,其中前三个是必要的。而Packaging属性为可选项。这四个属性主要为每个项目在maven仓库中做一个标识,类似于人的姓名!有了具体标识,方便后期项目之间相互引用依赖等。

GAV遵循以下规则:

1. GroupID格式:com.{公司/BU}.业务线。{子业务线},最多4级。

说明:{公司/BU}例如:alibaba/apache等 BU一级:子业务线可选

2. ArtifactId格式:产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下。

3. Version版本号格式推荐:主版本号.次版本号.修订号

1)主版本号:当作了不兼容的API修改,或者增加了能改变产品方向的新功能

2)次版本号:当做了向下兼容的功能性新增(新增类、接口等)。

3)修订号:修复bug,没有修改方法签名的功能加强,保持API兼容性。

例如:初始-->1.0.0 修改bug-->1.0.1 功能调整 -->1.1.1 等

举例:


    com.alibaba
    fastjson
    1.2.75



    org.apache.hive
    hive-exec
    3.1.2

当我们想要创建一个project的时候,也会在pom.xml里面生成该项目的坐标。

Maven《三》-- 基于Idea创建Maven工程_第1张图片

如果别人需要依赖这个项目的某些功能时,添加对应的依赖即可。

4. Packaging 定义规则

指示将项目打包成什么类型的文件,idea根据packaging值,识别maven项目类型。

packaging属性为jar(默认值),代表普通的maven工程,打包之后是.jar结尾的文件

packaging属性为war,代表java的web工程,打包之后是.war结尾的文件

packaging属性为pom,代表不会打包,用来做基础的父工程

3.2 Idea构建Maven Java SE工程

自己后期可以在项目里面随意修改!

Maven《三》-- 基于Idea创建Maven工程_第2张图片

创建工程之后,若第一次使用maven,或者使用的是新的本地仓库,idea右下角会出现以下进度条,表示maven正在下载相关插件,等待下载完毕,进度条消失即可

验证maven工程是否创建成功,当创建完毕maven工程之后,idea中会自动打开Maven视图,如下图:

Maven《三》-- 基于Idea创建Maven工程_第3张图片

3.3 Maven常用依赖查询网站

http://mvnrepository.com/

3.4 Maven工程项目结构说明

Maven 是一个强大的构建工具,它提供一种标准化的项目结构,可以帮助开发者更容易地管理项目的依赖、构建、测试和发布等任务。以下是 Maven Web 程序的文件结构及每个文件的作用:

|-- pom.xml                               # Maven 项目管理文件 
|-- src
    |-- main                              # 项目主要代码
    |   |-- java                          # Java 源代码目录
    |   |   `-- com/example/myapp         # 开发者代码主目录
    |   |       |-- controller            # 存放 Controller 层代码的目录
    |   |       |-- service               # 存放 Service 层代码的目录
    |   |       |-- dao                   # 存放 DAO 层代码的目录
    |   |       `-- model                 # 存放数据模型的目录
    |   |-- resources                     # 资源目录,存放配置文件、静态资源等
    |   |   |-- log4j.properties          # 日志配置文件
    |   |   |-- spring-mybatis.xml        # Spring Mybatis 配置文件
    |   |   `-- static                    # 存放静态资源的目录
    |   |       |-- css                   # 存放 CSS 文件的目录
    |   |       |-- js                    # 存放 JavaScript 文件的目录
    |   |       `-- images                # 存放图片资源的目录
    |   `-- webapp                        # 存放 WEB 相关配置和资源
    |       |-- WEB-INF                   # 存放 WEB 应用配置文件
    |       |   |-- web.xml               # Web 应用的部署描述文件
    |       |   `-- classes               # 存放编译后的 class 文件
    |       `-- index.html                # Web 应用入口页面
    `-- test                              # 项目测试代码
        |-- java                          # 单元测试目录
        `-- resources                     # 测试资源目录
  • pom.xml:Maven 项目管理文件,用于描述项目的依赖和构建配置等信息。

  • src/main/java:存放项目的 Java 源代码。

  • src/main/resources:存放项目的资源文件,如配置文件、静态资源等。

  • src/main/webapp/WEB-INF:存放 Web 应用的配置文件。

  • src/main/webapp/index.jsp:Web 应用的入口页面。

  • src/test/java:存放项目的测试代码。

  • src/test/resources:存放测试相关的资源文件,如测试配置文件等。

你可能感兴趣的:(Maven,maven,intellij-idea,java)