Maven和Gradle的安装配置
完成任务后你将掌握什么是MavenMaven的安装和配置IDEA配置Maven以及如何创建Maven工程pom文件各元素含义Maven打包成可运行jar包Gradle的安装配置IDEA创建Gradle工程Gradle打包成可运行jar包
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包
更多推荐
所有评论(0)