今天我們來講講如何將 Maven 項(xiàng)目轉(zhuǎn)換為 Gradle 項(xiàng)目。這個過程還是蠻簡單的,下面通過一個例子來說明怎么轉(zhuǎn)換。
Gradle 設(shè)置
如果沒有安裝 gradle, 我們可以從 Gradle 官網(wǎng)下載最新的版本,根據(jù)gradle官方的文檔安裝即可??梢钥次覀冎暗奈恼?,這里不過多的描述。
Maven pom
假設(shè)我們有這樣一個 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,那我們就可以動手轉(zhuǎn)換到gradle了。
執(zhí)行 gadle init
我們在終端跳轉(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)該在根目錄中看到一些新文件,下面我們展開講講這幾個文件的用處。
build.gradle
build.gradle
文件是Gradle構(gòu)建過程的核心組件,它直接等同于Maven構(gòu)建的pom.xml
文件。我們可以看到pom.xml
中的依賴屬性,如groupId、version、dependencies
,會有一些對應(yīng)的gradle屬性與之關(guān)聯(lián)。
另外還有sourceCompatibility
屬性,它是用于告訴我們在編譯Java時要使用哪個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還生成了兩個啟動腳本,gradlew.bat 用于Windows,而gradlew用于Unix和Linux的環(huán)境,這些腳本也可以在沒有設(shè)置Gradle的機(jī)器上運(yùn)行項(xiàng)目,它會自動下載gradle wrapper來運(yùn)行。
-
終端
+關(guān)注
關(guān)注
1文章
1157瀏覽量
30024 -
文件
+關(guān)注
關(guān)注
1文章
571瀏覽量
24826 -
maven
+關(guān)注
關(guān)注
0文章
30瀏覽量
3745 -
gradle
+關(guān)注
關(guān)注
0文章
26瀏覽量
744
發(fā)布評論請先 登錄
相關(guān)推薦
Gradle構(gòu)建的多模塊Spring Boot項(xiàng)目
![<b class='flag-5'>Gradle</b>構(gòu)建的多模塊Spring Boot<b class='flag-5'>項(xiàng)目</b>](https://file1.elecfans.com/web2/M00/A6/06/wKgaomURK96AGt0QAAGgG0FMeEk824.jpg)
如何將秒數(shù)轉(zhuǎn)換為時間字符串?
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)換為無線遙控汽車
![<b class='flag-5'>如何將</b>簡單的汽車<b class='flag-5'>轉(zhuǎn)換為</b>無線遙控汽車](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論