Java拾贝第二十天——Maven入门

发布时间 2023-11-09 09:43:41作者: ocraft

在传统开发中,一个普通的Java工程如下:
image
src下建包,然后写代码,那么配置文件放在哪里?单元测试代码放在哪里?没有一个统一标准,更多时候都是自由发挥,每个人有自己的风格,这并不十分适合团队协作。

Maven主要作用

Mave主要做了两件事:

  • 统一开发规范与工具
  • 统一管理jar包

Maven

项目管理工具Maven

新建Maven项目

New Project-Maven-Next
image

编辑路径与项目名后直接选择Finish
image

此时耐心Maven构建
image

构建太慢进行如下配置

如果访问太慢可以进行如下配置(前提是使用IDEA集成的Maven)

File-Setting-搜索Maven
image
看到这一栏
image
然后过去(C盘 用户 用户名 .m2文件夹-新建settings.xml)
image
右键settings.xml以记事本方式打开,并填入以下内容。然后保存退出记事本

<settings>
    <mirrors>
        <mirror>
            <id>aliyun</id>
            <name>aliyun</name>
            <mirrorOf>central</mirrorOf>
            <!-- 国内推荐阿里云的Maven镜像 -->
            <url>https://maven.aliyun.com/repository/central</url>
        </mirror>
    </mirrors>
</settings>

然后回到IDEA等待即可。如果你感觉速度没有变化,请选择重构项目
image

(如果右下角弹出Download pre-built shared indexes,那就选择下载)

Maven目录结构解析

如果Maven项目构建无误,一个普通的Maven应该如下:
image

根目录Maven是项目名
src下存放的是源码
	存放Java源码的目录是src/main/java
	存放资源文件的目录是src/main/resources
	存放测试源码的目录是src/test/java
	存放测试资源的目录是src/test/resources(需手动创建)
pom.xml,这是Maven的核心配置文件。(解析在创建文件之后)

创建文件

创建测试资源文件展示
右键test文件夹-New-Directory-命名resources
image
注意此时只是新建了一个文件夹而已!并不代表其是测试资源文件夹

(方法1)
右键resources文件夹-Mark Directory as-Test ReSources Root (标记其为资源文件夹)
image

(方法2)
打开右上角查看项目结构
image
选择文件夹并标记
image

成功图如下:
image

pom.xml解析

pom.xml,是Maven的核心配置文件,pom称为Project Object Model(项目对象模型),它用于描述整个Maven项目,所以也称为Maven描述文件。

一个最基础的描述文件如下:
image

modelVersion:当前Maven模型的版本号
groupId:公司名或是组织名。一般来说groupId是由三个部分组成,每个部分之间以"."分隔
artifactId:Maven构建的项目名
version:版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本。
properties:用来定义一些配置属性

groupId三个部分:第一部分是项目用途,比如用于商业的就是"com",用于非营利性组织的就是"org";
第二部分是公司名,比如"tengxun"、"baidu"、"alibaba";
第三部分是你的项目名

groupId类似于Java的包名,通常是公司或组织名称,artifactId类似于Java的类名,通常是项目名称

groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标

dependencies和dependency

<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.2.5</version>
    </dependency>

    <dependency>
	.....
    </dependency>
</dependencies>

dependencies包含一个或多个dependency(依赖)

前面说了,Maven的一个重要作用就是统一管理jar包。

为了一个项目可以运行,不可避免的会依赖很多其他的jar包,在Maven中,这些依赖就被称为dependency。

加上上述栗子,我的pom.xml如下: (记得点击加载依赖)
image

至此,我们成功从远程仓库下载MyBatis3.2.5.jar到本地了

个人推荐一个网站,想要加载的依赖直接搜索即可https://mvnrepository.com/

栗子

搜索mybatis
image

选择版本号
image

直接复制即可
image

清理Jar包

C盘-用户-用户名-.m2文件夹-repository,这里面都是下载到本地的Jar包
image