zoukankan      html  css  js  c++  java
  • Ubuntu18.04 运行 Gradle 4.9

    简介

    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'])}
    

    .

    .

  • 相关阅读:
    HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别(转)
    JSP语法
    Web开发基础(读书笔记)
    eclispe新导入的文件有个小红叉号(x)的问题
    Vue处理数据,数组更新,但视图无法得到及时更新
    VUE 利用tab切换+同路由跳转传参(check)+vant上拉加载制作订单列表(终)
    适配方案一之:利用rem和less计算制作移动端适配页面
    Git常用命令务忘
    git提交代码步骤笔记
    Vue仿淘宝订单状态的tab切换效果——(但现实中不会用此种方式进行存储数据)
  • 原文地址:https://www.cnblogs.com/milton/p/9344663.html
Copyright © 2011-2022 走看看