maven作用

简单理解为一个项目构建工具。
比如:一个Java项目,需要使用JDBC连接mysql,这是就需要在这个项目的lib目录下加入mysql的驱动jar包,这里只需要一个jar就够了,因为mysql的驱动包不需要其他依赖。假如项目使用了Spring、Hibernate等框架,这里需要加入lib的jar包就不止一个了,而且手动加入jar容易产生冲突,maven就很好的解决了这个问题。

maven里面常用的概念
  • 项目(工程):maven项目
  • 模块:maven模块
  • 依赖:该项目需要使用的第三方jar
  • 插件:项目编译、打包需要执行其他操作,就需要添加插件
  • 远程仓库(镜像)、本地仓库:maven会从远程仓库将第三方Jar下载到本地,生成本地仓库,如果本地仓库已经存在该Jar,则使用本地仓库,不会再从远程仓库下载。
maven环境搭建,记得先配置好JDK

下载maven的安装包,这里以Windows为例,Linux类似,下载地址:https://maven.apache.org/download.cgi

maven 创建 java maven创建jar工程_maven


解压,解压目录如下

maven 创建 java maven创建jar工程_maven_02


配置环境变量,将bin加入path,记得将路径改成自己本地所在路径

MAVEN_HOME=C:\supermap\tools\maven\apache-maven-3.6.3
path=%MAVEN_HOME%\bin

maven 创建 java maven创建jar工程_xml_03


maven 创建 java maven创建jar工程_java_04


验证

mvn -v

maven 创建 java maven创建jar工程_mysql_05

settings.xml常用配置

在${MAVEN_HOME}/conf目录下,编辑settings.xml,这就是maven工具的配置文件

<!-- 配置本地仓库路径 -->
<localRepository>C:\tools\maven\apache-maven-3.6.3\conf\repository</localRepository>
<!-- 配置阿里云镜像,默认是从中央仓库下载,速度较慢 -->
<mirrors>
	<mirror>
		<id>alimaven</id>
		<mirrorOf>central</mirrorOf>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	</mirror>
</mirrors>
<!-- 配置jdk1.8 -->
<profiles>
	<profile>   
		<id>jdk1.8</id>    
		<activation>   
	     	<activeByDefault>true</activeByDefault>    
	     	<jdk>1.8</jdk>   
	 	</activation>    
	 	<properties>   
	     	<maven.compiler.source>1.8</maven.compiler.source>    
	     	<maven.compiler.target>1.8</maven.compiler.target>    
	     	<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
	 	</properties>   
	</profile> 
<profiles>
pom.xml依赖

这里使用idea工具构建maven项目

设置settings.xml路径,idea会自动读取本地仓库,File >> Settings

maven 创建 java maven创建jar工程_maven_06


新建maven模块:File >> New >> Module

maven 创建 java maven创建jar工程_java_07


maven 创建 java maven创建jar工程_maven_08


maven 创建 java maven创建jar工程_xml_09


第一次构建会比较慢,需要耐心等待,构建完成后目录结果如下。

maven 创建 java maven创建jar工程_mysql_10

  • src/main/java:Java源码
  • src/main/resources:资源文件,properties、xml等
  • src/test/java:测试源码
  • pom.xml:maven项目文件
    编辑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">
    <modelVersion>4.0.0</modelVersion>

    <!-- 当前项目所属组 -->
    <groupId>com.demo.maven</groupId>
    <!-- 当前项目唯一ID -->
    <artifactId>demo-maven</artifactId>
    <!-- 当前项目的版本号 -->
    <version>1.0-SNAPSHOT</version>
    <!-- 打包方式,常见的打包方式有:jar、war、pom -->
    <packaging>jar</packaging>

    <!-- 添加依赖 -->
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.59</version>
        </dependency>
    </dependencies>

</project>

maven 创建 java maven创建jar工程_maven_11


如果记不住依赖怎么添加,https://mvnrepository.com/查询,或者百度搜索关键字"maven repo"

验证,在src/main/java新建类,看mysql的驱动类是否添加进来,编译不报红,代表mysql的依赖已经加入到当前工程了。

maven 创建 java maven创建jar工程_xml_12