重庆迅玛科技有限公司-APP软件开发,手机软件定制开发,网站开发,微信小程序定制,迅玛科技
2022-05-27 14:59:55

Maven基础详解

分享到:



Maven是一个项目管理工具它包含了一个项目对象模型(POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。


Maven可以帮助我们管理jar包,Maven也可以让我们的Java文件编译成class文件,Maven可以把我们指定目录下的单元测试文件一次性执行完成,并告诉我们是否异常,Maven一个命令就可以帮我们打包


Maven在管理我们的jar包的时候,它会根据jar包的坐标来找到对应的jar包,这些jar包是在仓库中的,如果有很多的项目,那么这么多的项目可以用同一套jar包,这一套jar包放置在仓库中,这就属于Maven的依赖管理。


要使用Maven,首先要先下载安装Maven


在Maven项目中并没有jar包,Maven项目会根据jar包的坐标去仓库中来找到Maven的jar包,在Maven目录下的config目录下的settings.xml文件中有这一句话Default: ${user.home}/.m2/repository,也即是默认是在系统盘找本地仓库,刚下载好的Maven本地仓库是没有jar包的,如果是联网的情况下,Mavaen会去中央仓库去下载,这里放置了几乎所有的开源jar包,如果没有网络那就凉凉了,所以我们在公司中会创建一个远程仓库,也就是私服,只要自己的电脑和远程仓库在一个局域网中即可,如果远程仓库中没有我们需要的jar包,它会从中央仓库中下载相应的jar包,也可以通过本地上传的方式获取jar包。我们发现,我们的本地仓库是在C盘下的,而且是一个隐藏的文件夹,很不方便,所以我们一般会自己创建一个本地仓库,具体操作例如我在D盘下的Maven下创建了一个repository文件夹,我们只需在Maven目录下的config目录下的settings.xml中配置如下图即可


20191113141906393.png


下面是改远程仓库为阿里仓库,这样本地下载jar包比较快,修改配置文件如下




Maven的目录结构包括核心代码部分、配置文件部分、测试代码部分、测试配置文件。


src/main/java/目录 核心代码部分


src/main/resources 配置文件部分


src/test/java目录 测试代码部分


src/test/resources 测试配置文件


src/main/webapps 页面资源,HTML、CSS、JS等


Maven中常见的命令


mvn clean 删除target目录


mvn compile 编译,编译之后target目录又出来了,这里是对src/main下面的代码进行了编译


mvn test 编译,这里不仅执行了compile的功能,还编译了src/test下的代码


mvn package 打包,这里执行了test的所有功能,而且打成了war包


mvn install 安装,不仅执行了package的所有功能,而且把这个包安装到了本地仓库


mvn deploy 发布,不仅执行了install的所有功能,而且把项目发布


上面的Maven命令中,clean是清理生命周期,其余5个是默认生命周期 ,也就是一键构建。


在我们项目开发中的的pom.xml文件中,首先是项目的自身的信息,项目运行所依赖的jar包,项目运行环境信息,这就是我们的项目对象模型(POM )


Maven的jar包坐标,这是在pop.xml中配置的


<dependency> //依赖的jar包坐标

    <groupId>mysql</groupId> //公司或组织域名倒序+项目名

    <artifactId>mysql-connector-java</artifactId> //模块名

    <version>5.1.48</version> //jar包版本号

</dependency>

这里是我的一个pop.xml文件,配置了mybatis、mysql、日志和单元测试


<?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">

    <modelVersion>4.0.0</modelVersion>

 

    <groupId>com.zhiying</groupId>

    <artifactId>mymaven</artifactId>

    <version>1.0-SNAPSHOT</version>

 

    <dependencies>

        <dependency>

            <groupId>org.mybatis</groupId>

            <artifactId>mybatis</artifactId>

            <version>3.5.2</version>

        </dependency>

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>5.1.48</version>

        </dependency>

        <dependency>

            <groupId>log4j</groupId>

            <artifactId>log4j</artifactId>

            <version>1.2.17</version>

        </dependency>

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.12</version>

        </dependency>

    </dependencies>

 

</project>


上一篇:如何高效开发一款微信小程序
下一篇:Python十分钟入门