简介

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
actionable tasks: executed

Update: 这样处理之后, 如果再把gradle-wrapper.properties改回来, 再次运行时还会进行下载, 可以用另一种方法:

# 查看目录下的hash目录
~/.gradle/wrapper/dists/gradle-4.9-bin
~/.gradle/wrapper/dists/gradle-4.9-bin$ ll
total
drwxr-xr-x milton milton Jul : cuv0xpj2z1lkier1i57jl72tr/
drwxr-xr-x milton milton Jul : dv6yjbd5p4c085k06brhv9r3f/
drwxr-xr-x milton milton Jul : e9cinqnqvph59rr7g70qubb4t/
# 子目录下能看到未完成的下载
~/.gradle/wrapper/dists/gradle-4.9-bin$ ll cuv0xpj2z1lkier1i57jl72tr/
total
-rw-r--r-- milton milton Jul : gradle-4.9-bin.zip.lck
-rw-r--r-- milton milton Jul : gradle-4.9-bin.zip.part
# 将.part文件删除, 将完整的zip文件cp进来就可以了
...
# 运行完后再查看目录, 会变成这样的结构
~/.gradle/wrapper/dists/gradle-4.9-bin$ ll cuv0xpj2z11kier1i57j172tr/
total
drwxr-xr-x milton milton Jul : gradle-4.9/
-rw-r--r-- milton milton Jul : gradle-4.9-bin.zip
-rw-r--r-- milton milton Jul : gradle-4.9-bin.zip.lck
-rw-r--r-- milton milton Jul : 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的更多相关文章

  1. ubuntu18.04 运行时提示缺少libstdc++.so.6

    解决方法:输入命令 sudo apt- 提示:ubuntu默认软件包管理器不是yum,而是dpkg,安装软件时用apt-get PS:在ubuntu下最好不要去装yum,不然可能会出现一些奇怪的问题

  2. Ubuntu18.04可执行文件运行提示No such file or directory

    参考原文见 https://blog.csdn.net/sun927/article/details/46593129? 最近我也遇到一个类似问题,同一个工具在Ubuntu16.04里面运行是好的,但 ...

  3. c/c++ 多线程 ubuntu18.04 boost编译与运行的坑

    多线程 boost编译与运行的坑 背景:因为要使用boost里的多线程库,所以遇到了下面的坑. 系统版本:ubuntu18.04 一,安装boost 1,去boost官网下载 boost_1_XX_0 ...

  4. 解惑:在Ubuntu18.04.2的idea上运行Scala支持的spark程序遇到的问题

    解惑:在Ubuntu18.04.2的idea上运行Scala支持的spark程序遇到的问题 一.前言 最近在做一点小的实验,用到了Scala,spark这些东西,于是在Linux平台上来完成,结果一个 ...

  5. ubuntu18.04系统安装及php7.2,apache2,mysql8,git,svn,composer,vs code 到安装 php 扩展配置php.ini 实现 laravel5.8 运行

    简介:记录自己从系统安装到环境配置完毕运行laravel的记录    • 下载ubuntu18.04桌面版        ○ ubuntu18.04中国官网 https://cn.ubuntu.com ...

  6. Ubuntu18.04下的 Android Studio 3.1.2

    Android Studio安装 参考官网上的安装说明 # 安装依赖 :i386 lib32z1 libbz2-1.0:i386 安装openjdk (Update 2018-08-21: 这次重装U ...

  7. 安装ubuntu18.04.3全过程

    目录 一.安装ubuntu18.04.3操作系统 二.系统设置 三.非开发常用软件安装 四.开发常用软件安装 五.ubuntu相关知识 六.参考文章链接 正文 一.安装ubuntu18.04.3操作系 ...

  8. Ubuntu18.04教程

    pre.ctl { font-family: "Liberation Mono", monospace } h1 { margin-bottom: 0.21cm } h1.west ...

  9. win10下安装ubuntu18.04

    在win10下安装Ubuntu18.04,双系统共存.Ubuntu 18.04 使用的是Gnome桌面. 查看系统的启动模式: Win+R打开运行,输入msinfo32,回车查看系统信息.在BIOS模 ...

随机推荐

  1. ptime概述

    官方给出的ptime的定义是:ptime gives the length of time in milliseconds represented by themedia in a packet.简单 ...

  2. java-nio之zero copy深入分析

    对于所有的io操作,底层一定是调用操作系统的api来进行读写.受限于不同的操作系统,操作方式一定是有差异的.以下read和write操作,可以看做服务器从磁盘硬件上读取文件数据,然后通过socket发 ...

  3. emouse思·睿—评论与观点整理之一

    虽说我主要做的硬件,平时的兴趣爱好比较关注移动互联网,混迹于虎嗅.爱范儿.雷锋网.36Kr.cnBeta.瘾科技.i黑马.TechWeb等这类科技以及创业媒体,遗憾的是系统的去写的并不多,好在还算充分 ...

  4. [leetcode]Word Search @ Python

    原题地址:https://oj.leetcode.com/problems/word-search/ 题意: Given a 2D board and a word, find if the word ...

  5. js操作XML文件兼容IE与FireFox

    最近项目中用到了xml,需求是用户安装产品时先把一系列的数据保存到xml文件中,当执行到最后一步时才写入数据库,这样最大限度的减少了数据库的访问,于是不得不纠结在各浏览器的兼容性的问题(悲哀啊.... ...

  6. 设置虚拟机IP

    重启虚拟机 重启后,查看虚拟机IP ip a 虚拟机已有自己的IP 输入虚拟机用户

  7. android 微信听筒无声

    Dual talk项目sim卡插在卡2时.微信听筒无声: 第三方APP在听筒接听语音时会固定去设audio_mode为incall,而不会去管以下是sim1还是sim2在位. 而speechdrive ...

  8. TensorFlow教程——Bi-LSTM+CRF进行序列标注(代码浅析)

    https://blog.csdn.net/guolindonggld/article/details/79044574 Bi-LSTM 使用TensorFlow构建Bi-LSTM时经常是下面的代码: ...

  9. 在javascript中substr和substring的区别是什么

      1.substring 用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 substring 方法返回的子串包括 start ...

  10. DOpus 10.5 使用帮助

    在线手册 http://www.dearopus.com/ http://resource.dopus.com/ http://www.gpsoft.com.au/help/opus10/ 应急截图编 ...