简介

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. [leetcode]Spiral Matrix II @ Python

    原题地址:https://oj.leetcode.com/problems/spiral-matrix-ii/ 题意: Given an integer n, generate a square ma ...

  2. 安装Lync 2013过程中遇到的第一个报错

    安装Lync 2013, 首先要去做的就是prepare AD Forest. 在使用向导的时候会遇到报错如下: Prepare Forest Active Directory setting exe ...

  3. Permutations leetcode java

    题目: Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the f ...

  4. centos7 开机自动连网

    新安装好的CentOS7桌面版,默认的网络都是关闭的,在图形页面中,开启后,重启后网络又关闭了.下面配置开机自动连网. 工具/原料   CentOS7.2 方法/步骤     首先打开终端,用ifco ...

  5. C# XmlTextWriter和XmlTextReader 读写XML文件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X ...

  6. mysql主从备份及原理分析

    一.mysql主从备份(复制)的基本原理mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更 ...

  7. Trie树分词

    http://www.hankcs.com/program/java/tire-tree-participle.html 最近在看Ansj中文分词的源码,以前没有涉足过这个领域,所以需要做一些笔记. ...

  8. (转)unity3D 如何提取游戏资源 (反编译)+代码反编译

    原帖:http://bbs.9ria.com/thread-401140-1-1.html 首先感谢 雨松MOMO 的一篇帖子 教我们怎么提取 .ipa 中的游戏资源.教我们初步的破解unity3d资 ...

  9. js的技巧

    字典: if(tac["detail"][sid] || tac["detail"][sid]==0) //判断某项是否存在,0为真 tac["det ...

  10. error MSB6006: "CL.exe" exited with code -1073741819.

    编译一个c++项目的时候,会报如下的错误,总是无法编译,是怎么回事? error MSB6006: "CL.exe" exited with code -1073741819. 搜 ...