1. 程式人生 > >Ubuntu18.04 運行 Gradle 4.9

Ubuntu18.04 運行 Gradle 4.9

ubuntu rap roo demo sca -type com true 加載

簡介

Gradle是一個基於Apache Ant和Apache Maven的項目自動化構建工具, 使用一種基於Groovy的特定領域語言(domain-specific language DSL)來聲明構建設置. 支持多種語言項目的構建, 包含 Android, C++, Groovy, Java, Javascript, Kotlin, Scala.

官網 https://gradle.org/. 下載地址 https://gradle.org/releases/ .

安裝

和maven一樣, 解壓縮即可, 放至 /opt/gradle

運行

生成Java項目結構:

mkdir java-demo
cd java
-demo/ /opt/gradle/latest/bin/gradle init --type java-application tree #生成的目錄結構 ├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src ├── main │ └── java │ └── App.java └── test └── java └── AppTest.java

構建

直接執行

java-demo$ ./gradlew build
Downloading https://services.gradle.org/distributions/gradle-4.9-bin.zip
................^C

這個下載會很慢, 因為gradle-4.9-bin.zip實際已經下載過了, 但是也不能直接放到.gradle目錄下去, 因為目錄路徑中有hash串

~/.gradle$ find ./ -name gradle-*.zip
./wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4
-all.zip ./wrapper/dists/gradle-4.6-bin/4jp4stjndanmxuerzfseyb6wo/gradle-4.6-bin.zip ./wrapper/dists/gradle-4.9-bin/dv6yjbd5p4c085k06brhv9r3f/gradle-4.9-bin.zip ./wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew/gradle-4.1-all.zip

可以將文件放到項目的gradle/wrapper目錄下, 並修改gradle-wrapper.properties, 修改下面這行

# distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip
distributionUrl=gradle-4.9-bin.zip

然後就會直接從本地下載了

java-demo$ ./gradlew build
Downloading file:/home/milton/IdeaProjects/untitled3/java-demo/gradle/wrapper/gradle-4.9-bin.zip
........................................................................
Download https://jcenter.bintray.com/com/google/guava/guava/23.0/guava-23.0.pom
Download https://jcenter.bintray.com/com/google/guava/guava-parent/23.0/guava-parent-23.0.pom
Download https://jcenter.bintray.com/com/google/guava/guava/23.0/guava-23.0.jar

BUILD SUCCESSFUL in 39s
7 actionable tasks: 7 executed

Update: 這樣處理之後, 如果再把gradle-wrapper.properties改回來, 再次運行時還會進行下載, 可以用另一種方法:

# 查看目錄下的hash目錄
~/.gradle/wrapper/dists/gradle-4.9-bin
~/.gradle/wrapper/dists/gradle-4.9-bin$ ll
total 12
drwxr-xr-x 2 milton milton 4096 Jul 21 00:04 cuv0xpj2z1lkier1i57jl72tr/
drwxr-xr-x 3 milton milton 4096 Jul 20 23:43 dv6yjbd5p4c085k06brhv9r3f/
drwxr-xr-x 2 milton milton 4096 Jul 21 00:04 e9cinqnqvph59rr7g70qubb4t/
# 子目錄下能看到未完成的下載
~/.gradle/wrapper/dists/gradle-4.9-bin$ ll cuv0xpj2z1lkier1i57jl72tr/
total 0
-rw-r--r-- 1 milton milton 0 Jul 20 23:42 gradle-4.9-bin.zip.lck
-rw-r--r-- 1 milton milton 0 Jul 20 23:42 gradle-4.9-bin.zip.part
# 將.part文件刪除, 將完整的zip文件cp進來就可以了
...
# 運行完後再查看目錄, 會變成這樣的結構
~/.gradle/wrapper/dists/gradle-4.9-bin$ ll cuv0xpj2z11kier1i57j172tr/
total 74552
drwxr-xr-x 6 milton milton     4096 Jul 21 00:04 gradle-4.9/
-rw-r--r-- 1 milton milton 76334709 Jul 21 00:04 gradle-4.9-bin.zip
-rw-r--r-- 1 milton milton        0 Jul 20 23:06 gradle-4.9-bin.zip.lck
-rw-r--r-- 1 milton milton        0 Jul 21 00:04 gradle-4.9-bin.zip.ok

gradle的庫文件, 都存放在 .gradle/caches/modules-2/files-2.1/ 目錄下

還可以運行的其他命令

# 查看有那些構建方式
./gradlew tasks

# 運行, Runs this project as a JVM application
./gradlew run

# test - Runs the unit tests
./gradlew test

加載單獨的jar包

在項目底下添加libs目錄,將jar包仍進libs目錄

build.gradle配置如下:

dependencies { compile files(‘lib/ojdbc-14.jar‘)}

加載整個目錄的jar包

在自己的 Gradle 項目裏建立一個名為 libs (這個名字可以自己定義,不一定非要叫這個名字)的文件夾,把自己本地的 jar 包拷貝到這個文件夾中。

build.gradle配置如下:

dependencies { compile fileTree(dir:‘libs‘,include:[‘*.jar‘])}

.

.

Ubuntu18.04 運行 Gradle 4.9