Convert a Maven Build to Gradle – 将Maven构建转换为Gradle

最后修改: 2022年 1月 16日

1. Overview


In this tutorial, we’ll learn how to convert a Maven build to a Gradle build. For this purpose, we will use the gradle init command on an existing Maven project.

在本教程中,我们将学习如何将Maven构建转换为Gradle构建。为此,我们将在一个现有的Maven项目上使用gradle init命令。

2. Gradle Setup


Let’s install Gradle on our machine by downloading a Gradle distribution and following the specified instructions. We can also take a deep dive to learn more about Gradle.


3. Maven Build File


Let’s start with a standard Maven Java project, which the following pom.xml file in its root directory:

让我们从一个标准的Maven Java项目开始,它的根目录下有以下pom.xml文件。

<project xmlns=""

4. Converting to Gradle


Let’s go to the root directory of this Maven project, containing the master pom.xml, and execute the gradle init command. When prompted for a response, let’s type in yes and press enter. We should see the following output:

让我们进入该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:

2 actionable tasks: 2 executed

5. Generated Gradle Build Files


Now let’s recheck the contents of our project’s root directory. We should now see a number of new files in our root directory. If we want to go deeper, we can have a look at gradle-build-settings-properties.


5.1. build.gradle

The build.gradle file is the core component of our Gradle build process, and it is the direct equivalent of the pom.xml file for Maven builds. We can see here that pom.xml attributes like groupId, version, and dependencies are translated to their Gradle equivalents. Also present is the attribute of sourceCompatibility, which tells us which Java version to use when compiling Java sources. In the plugins section, we have ‘java‘ which provides support for building any type of Java project, and ‘maven-publish’ which provides support for publishing artifacts to Maven-compatible repositories.


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

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

repositories {
    maven {
        url = uri('')

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

group = 'com.baeldung'
version = '0.0.1-SNAPSHOT'<br />description = 'maven-to-gradle'
java.sourceCompatibility = JavaVersion.VERSION_1_8

publishing {
    publications {
        maven(MavenPublication) {

5.2. settings.gradle

5.2. settings.gradle

The settings.gradle file is used by Gradle during the initialization phase to identify which projects are included in the build.


 * This file was generated by the Gradle 'init' task.
 */ = 'maven-to-gradle'

5.3. gradlew and gradlew.bat


Two startup scripts, one for Windows and one for Unix are also generated by Gradle. These scripts can be used to run the project on a machine that does not have a prior Gradle setup. We can learn more about the Gradle wrapper files by taking a look at gradle-wrapper.


6. Conclusion


In this article, we learned how a Maven build containing pom.xml can be converted to a Gradle build having multiple build files such as build.gradle, settings.gradle, gradlew, and gradlew.bat. The source code from this article can be found over on GitHub.