一个操作,Maven 轻松迁移 Gradle

开发 项目管理
Gradle还生成了两个启动脚本,gradlew.bat 用于Windows,而gradlew用于Unix和Linux的环境,这些脚本也可以在没有设置Gradle的机器上运行项目,它会自动下载gradle wrapper来运行。

大家好,我是指北君。

今天我们来讲讲如何将 Maven 项目转换为 Gradle 项目。这个过程还是蛮简单的,下面通过一个例子来说明怎么转换。

Gradle 设置

如果没有安装 gradle, 我们可以从 Gradle 官网下载最新的版本,根据gradle官方的文档安装即可。可以看我们之前的文章,这里不过多的描述。

Maven pom

假设我们有这样一个 maven项目,pom.xml 文件如下:

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.javanorth</groupId>
<artifactId>maven-to-gradle</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
</dependencies>
</project>

有了maven项目,也安装了gradle,那我们就可以动手转换到gradle了。

执行 gadle init

我们在终端跳转到Maven项目的根目录,就是包含pom.xml 文件的目录, 然后执行 gradle init​ 命令。从终端响应结果从输入yes 并按回车健。

$ gradle init

Found a Maven build. Generate a Gradle build from this? (default: yes) [yes, no] yes

> Task :init
Maven to Gradle conversion is an incubating feature.
Get more help with your project: https://docs.gradle.org/7.3/userguide/migrating_from_maven.html

BUILD SUCCESSFUL in 3s
2 actionable tasks: 2 executed

生成的Gradle构建文件

现在让我们重新检查一下我们项目的根目录的内容。我们应该在根目录中看到一些新文件,下面我们展开讲讲这几个文件的用处。

build.gradle

build.gradle​ 文件是Gradle构建过程的核心组件,它直接等同于Maven构建的pom.xml​文件。我们可以看到pom.xml​中的依赖属性,如groupId、version、dependencies,会有一些对应的gradle属性与之关联。

另外还有sourceCompatibility属性,它是用于告诉我们在编译Java时要使用哪个Java版本。

插件部分, java是为构建任何类型的Java项目提供支持,而 maven-publish 是为发布项目到Maven兼容的仓库提供支持。

/*
* This file was generated by the Gradle 'init' task.
*/

plugins {
id 'java'
id 'maven-publish'
}

repositories {
mavenLocal()
maven {
url = uri('https://repo.maven.apache.org/maven2/')
}
}

dependencies {
implementation 'org.apache.commons:commons-lang3:3.12.0'
}

group = 'cn.javanorth'
version = '0.0.1-SNAPSHOT'
description = 'maven-to-gradle'
java.sourceCompatibility = JavaVersion.VERSION_1_8

publishing {
publications {
maven(MavenPublication) {
from(components.java)
}
}
}

settings.gradle

Gradle在初始化过程中是通过使用settings.gradle文件来配置并确定哪些项目被包含在此次构建中。

/*
* This file was generated by the Gradle 'init' task.
*/

rootProject.name = 'maven-to-gradle'

gradlew 和 gradlew.bat

Gradle还生成了两个启动脚本,gradlew.bat 用于Windows,而gradlew用于Unix和Linux的环境,这些脚本也可以在没有设置Gradle的机器上运行项目,它会自动下载gradle wrapper来运行。

责任编辑:武晓燕 来源: Java技术指北
相关推荐

2022-11-01 08:55:55

编译工具MavenSpring

2023-12-31 16:35:31

Pytorch函数深度学习

2020-11-09 14:03:51

Spring BootMaven迁移

2017-07-25 14:20:13

戴尔配置功耗

2017-08-17 16:37:59

MySQL数据迁移

2024-08-30 08:51:17

MavenGradleJava

2018-02-28 13:49:49

屏幕截取win 10浏览器

2018-06-11 17:27:56

APP流量华为

2022-11-01 08:53:00

GradleMaven构建工具

2024-07-12 09:36:29

FastAPIDocker大语言模型

2015-10-28 14:03:32

数据迁移数据

2011-04-14 10:18:20

数据迁移

2011-03-28 09:56:03

存储增删操作

2015-11-25 09:58:36

私有云云迁移虚拟化

2020-01-20 14:44:03

云计算架构IT

2021-01-14 11:05:41

项目配置属性

2023-12-13 08:24:42

maven插件自动化

2014-04-03 10:46:12

Dockermaven

2021-09-07 09:26:13

Python 开发编程语言

2022-03-04 14:17:08

JS工具库录音
点赞
收藏

51CTO技术栈公众号