今天我們來講講如何將 Maven 項(xiàng)目轉(zhuǎn)換為 Gradle 項(xiàng)目。這個(gè)過程還是蠻簡單的,下面通過一個(gè)例子來說明怎么轉(zhuǎn)換。
Gradle 設(shè)置
如果沒有安裝 gradle, 我們可以從 Gradle 官網(wǎng)下載最新的版本,根據(jù)gradle官方的文檔安裝即可??梢钥次覀冎暗奈恼拢@里不過多的描述。
Maven pom
假設(shè)我們有這樣一個(gè) maven項(xiàng)目,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項(xiàng)目,也安裝了gradle,那我們就可以動(dòng)手轉(zhuǎn)換到gradle了。
執(zhí)行 gadle init
我們?cè)诮K端跳轉(zhuǎn)到Maven項(xiàng)目的根目錄,就是包含pom.xml 文件的目錄, 然后執(zhí)行 gradle init
命令。從終端響應(yīng)結(jié)果從輸入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構(gòu)建文件
現(xiàn)在讓我們重新檢查一下我們項(xiàng)目的根目錄的內(nèi)容。我們應(yīng)該在根目錄中看到一些新文件,下面我們展開講講這幾個(gè)文件的用處。
build.gradle
build.gradle
文件是Gradle構(gòu)建過程的核心組件,它直接等同于Maven構(gòu)建的pom.xml
文件。我們可以看到pom.xml
中的依賴屬性,如groupId、version、dependencies
,會(huì)有一些對(duì)應(yīng)的gradle屬性與之關(guān)聯(lián)。
另外還有sourceCompatibility
屬性,它是用于告訴我們?cè)诰幾gJava時(shí)要使用哪個(gè)Java版本。
插件部分, java是為構(gòu)建任何類型的Java項(xiàng)目提供支持,而 maven-publish 是為發(fā)布項(xiàng)目到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文件來配置并確定哪些項(xiàng)目被包含在此次構(gòu)建中。
/*
* This file was generated by the Gradle 'init' task.
*/
rootProject.name = 'maven-to-gradle'
gradlew 和 gradlew.bat
Gradle還生成了兩個(gè)啟動(dòng)腳本,gradlew.bat 用于Windows,而gradlew用于Unix和Linux的環(huán)境,這些腳本也可以在沒有設(shè)置Gradle的機(jī)器上運(yùn)行項(xiàng)目,它會(huì)自動(dòng)下載gradle wrapper來運(yùn)行。
-
終端
+關(guān)注
關(guān)注
1文章
1204瀏覽量
30909 -
文件
+關(guān)注
關(guān)注
1文章
579瀏覽量
25374 -
maven
+關(guān)注
關(guān)注
0文章
30瀏覽量
3883 -
gradle
+關(guān)注
關(guān)注
0文章
26瀏覽量
886
發(fā)布評(píng)論請(qǐng)先 登錄
Gradle構(gòu)建的多模塊Spring Boot項(xiàng)目

Android Studio與Gradle深入
怎么將hex文件轉(zhuǎn)換為MPLAB項(xiàng)目
怎么將Vivado項(xiàng)目轉(zhuǎn)換為ISE項(xiàng)目
verilog UDP無法轉(zhuǎn)換為項(xiàng)目
Linux部署maven(war包)web 項(xiàng)目
有什么方法可以將IAR項(xiàng)目轉(zhuǎn)換為STM32CubeIde項(xiàng)目嗎?
如何將示例項(xiàng)目之一轉(zhuǎn)換為CubeIDE工作區(qū)中的工作項(xiàng)目?
如何將MCUXPresso項(xiàng)目轉(zhuǎn)換為CMAKE?
項(xiàng)目從原型轉(zhuǎn)換為生產(chǎn)就緒產(chǎn)品的概念
如何將Altera的SDC約束轉(zhuǎn)換為Xilinx XDC約束
如何將簡單的汽車轉(zhuǎn)換為無線遙控汽車

評(píng)論