Maven

什么是Maven?

Maven是用于构建和管理任何基于 Java 的项目的工具,能够管理项目的依赖,以及将项目打包成我们需要的jar包类型

Maven的安装

Maven官网,https://maven.apache.org/

下载安装包

Linux下这个
https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
windows下这个
https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.zip

解压

这里以安装在d盘根目录为例,可根据实际情况自己修改
将安装包复制到d盘根目录并解压

配置环境变量

在windows中搜索 系统环境变量,然后点击编辑系统环境变量
在这里插入图片描述
点击环境变量
在这里插入图片描述
选择新建
在这里插入图片描述
配置变量名和变量值,变量名可以自己定义,变量值为你的Maven安装包解压后的路径,填完点击确定
在这里插入图片描述
点击选中path,点击编辑
在这里插入图片描述
选择新建,填入%MAVEN_HOME\bin 然后一直确定就完成了Maven的环境变量配置
在这里插入图片描述

检验环境变量配置是否成功

任意地方打开cmd,在cmd中输入mvn -v,如果出现版本信息,则表示环境变量没有问题
在这里插入图片描述

Maven配置

Maven的配置文件是settings.xml,在Maven解压后的目录的conf目录下,其中有几个比较常用的标签

localRepository

localRepository标签是用来配置依赖包的下载地址,Maven从远程仓库下下来的jar包都会放在这个标签配置的目录下,目录不要用中文命名

<localRepository>D:\repo</localRepository>

mirrors 镜像仓库

这里配置了阿里云的镜像仓库,mirrorOf表示拦截central仓库,转发到阿里云的仓库中去请求依赖或者插件,也就是起到一个代理的作用

<mirrors>
    <!--阿里云镜像-->
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>repo2</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo2.maven.org/maven2/</url>
    </mirror>
</mirrors>

仓库repositories

repositories标签里可以配置多个仓库,比如本地私服的仓库,远程的中央仓库都可以配置在这里

<repositories>
    <repository>
        <id>central</id>
        <url>http://central</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

pluginRepositories插件仓库

插件仓库

<pluginRepositories>
    <pluginRepository>
        <id>central</id>
        <url>http://central</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

IDEA中使用Maven

IDEA配置Maven

点击file,选择下图内容
在这里插入图片描述
将Maven改成自己仓库配置,将配置文件也改成自己的配置文件,这样配置之后IDEA就是用的自己的Maven配置了,后面下载依赖包的时候也会按照我们自己定义的配置来
在这里插入图片描述

IDEA新建Maven工程

file->new创建一个工程,选择Maven,然后点击next
在这里插入图片描述
输入工程名称,点击finish
在这里插入图片描述
创建好的工程结构如下,src/main/java中用来存放java代码,resources文件中用来存放配置文件,
test目录则用来存放测试用例
在这里插入图片描述
pom文件为项目管理文件,它负责管理项目的所有信息,包括项目需要哪些依赖,如何打包项目,以及项目的版本,名称等信息,都由该文件负责管理。

pom文件配置

<?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>org.example</groupId>
    <artifactId>pom-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <!--    依赖管理,添加在其中的依赖会被导入-->
    <dependencies>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
    </dependencies>
    <!--    依赖管理,这里配置了之后不会实际导入,只是指定了导入版本,其子模块就可以直接使用而不需要指定版本了-->
    <dependencyManagement>

    </dependencyManagement>
    <!--    maven编译和打包处理-->
    <build>
        <!--        插件配置,将项目打包成一个可执行的jar包,并将依赖打包进去-->
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <!-- 此处指定main方法入口的class -->
                            <mainClass>pom.demo.PomDemo</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>assembly</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <!--        指定jar包名称-->
        <finalName>pom-demo</finalName>
    </build>
</project>

Maven打包成可执行jar包

在项目根目录打开cmd执行Maven打包命令

mvn clean install

执行完之后会在target目录下生成打好的jar包,然后执行命令

java -jar target/pom-demo.jar 

没有报错就说明我们的Maven打包大功告成了

Gradle

Gradle和Maven的区别

Maven的pom文件依赖过多的时候,整个文件内容会很长,阅读起来很不友好,并且Maven插件开发过于繁琐,Gradle吸取了Maven的优点,并且解决了Maven的一些缺点,Gradle的依赖看上去十分整洁,并且插件编写也十分容易

Gradle的安装

下载地址

https://gradle.org/next-steps/?version=7.3&format=bin

配置环境变量

将下载下来的压缩包解压,这里以d盘为例,解压之后的路径为D:\gradle-7.3-bin\gradle-7.3,打开windows设置,搜索系统环境变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
填写完毕后点击确定
在这里插入图片描述
选中path,点击编辑
在这里插入图片描述
点击新建
在这里插入图片描述
输入%GRADLE_HOME%\bin
在这里插入图片描述
然后一直确定即可

验证是否安装成功

打开cmd,输入gradle -v,输出如下内容则说明安装成功
在这里插入图片描述

Gradle配置

指定Gradle依赖下载位置

配置之后Gradle会将依赖包默认下载到该目录,在环境变量新建一个系统环境变量,注意变量名必须为GRADLE_USER_HOME,目录最好不要有中文和特殊符号
在这里插入图片描述
在这里插入图片描述

配置Gradle查找jar包优先级

在Gradle解压缩的文件夹中找到init.d文件夹,在init.d目录下新建一个init.gradle文件,内容如下

allprojects {
    repositories {
        maven {	url 'file:d:\\repo'}
        mavenLocal()
        maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
        mavenCentral()
    }
}

allprojects里是项目本身需要的依赖。表示项目里面每个build.gradle 里面的库都会依赖用这些仓库。这里配置了四个仓库,表示先会去d盘的repo目录下找,没找到就去本地Maven仓库找,还没有就去阿里云的仓库找,最后就去Maven的中心仓库找。

IDEA创建Gradle工程

打开IDEA,选择file->new
在这里插入图片描述
在这里插入图片描述
填写工程信息
在这里插入图片描述
配置工程
在这里插入图片描述
选择本地的Gradle,然后点击apply,ok
在这里插入图片描述
在java上鼠标右键,选择new->package
在这里插入图片描述
输入gradle.demo
在这里插入图片描述
然后在gradle.demo上鼠标右键,选择new->java class
在这里插入图片描述
输入GradleDemo,回车
在这里插入图片描述
然后我们修改build.gradle,在dependencies中增加
implementation 'com.alibaba:fastjson:1.2.73',修改之后我们按快捷键CTRL+SHIFT+o,o为英文单词,这样Gradle就会重新加载工程信息了,会将我们新增的依赖包下下来

注意:低版本的Gradle需要将implementation替换成compile

plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'


dependencies {
    implementation 'com.alibaba:fastjson:1.2.73'
}

重新导入依赖也可以选择View->Tool windows
在这里插入图片描述
然后点击这个刷新按钮也可以重新导入依赖信息
在这里插入图片描述
编辑GradleDemo.java,这里我们只是输出一下json字符串验证下工程

package gradle.demo;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class GradleDemo {
    public static void main(String[] args) {
        Map<String,Object> map = new HashMap<>();
        map.put("name","张三");
        map.put("age",14);
        String jsonString = JSONObject.toJSONString(map);
        System.out.println(jsonString);
    }
}

运行结果如下
在这里插入图片描述

打包成可运行的jar包

编辑build.gradle,添加打包插件

plugins {
    id 'java'
    id 'application'
}

group 'org.example'
version '1.0-SNAPSHOT'


dependencies {
    implementation 'com.alibaba:fastjson:1.2.73'
}

jar{
    manifest{
        attributes 'Main-Class': 'gradle.demo.GradleDemo'
    }
    from{
        configurations.runtimeClasspath.collect  {
            it.isDirectory() ? it : zipTree(it)
        }
    }
}

然后在根目录执行命令 gradle jar,就在build/libs目录得到一个可以运行的jar包
在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐