简介

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. nfd指令的详细说明

    在eterm上执行NFD:SHAPEK/CA*OW指令,返回如下: LN CXR OW RT FBC/TC RBD MIN/MAX TRVDATE R 01 CA 450.00 U U 00D/00D ...

  2. SpringMVC request生命周期

    When the request leaves the browser, it carries information about what the user is asking for. At ve ...

  3. 奇怪吸引子---ChenCelikovsky

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  4. OpenWRT - WEB界面开发思路和基本方法

    想要对OpenWRT的WEB界面(*下称界面)进行修改.修改的目标是: 1.修改页面的样式,设计为企业的风格(stylesheet) 2.新建自己的功能,实现 访问页面后,用户就可以对配置文件(也就是 ...

  5. 第三十二章 elk(3)- broker架构 + 引入logback

    实际中最好用的日志框架是logback,我们现在会直接使用logback通过tcp协议向logstash-shipper输入日志数据.在上一节的基础上修改!!! 一.代码 1.pom.xml < ...

  6. jquery的$.extend和$.fn.extend作用及区别,兼它们的一些小细节

    $.extend(obj);是为了扩展jquery本身,为类添加新的方法   $.fn.extend(obj);给JQUERY对象添加方法.如(1): $.extend({ add:function( ...

  7. 怎样修改SQL Server 2005/2008的系统存储过程(转)

    我们知道,SQL Server 2005/2008的系统存储过程在正常情况下是无法直接修改的. 尽管本文是介绍怎样修改它的,但在这里,我还是建议大家尽量不要去修改它.(好像有点绕哈...) OK,闲话 ...

  8. 【google面试题】求1到n的正数中1出现的次数的两种思路及其复杂度分析

    问题描写叙述: 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.比如输入12,从1到12这些整数中包括1 的数字有1.10.11和12.1一共出现了5次. 这是一道广为流传的googl ...

  9. 用GibbsLDA做Topic Modeling

    http://weblab.com.cityu.edu.hk/blog/luheng/2011/06/24/%E7%94%A8gibbslda%E5%81%9Atopic-modeling/#comm ...

  10. JPA(五):映射关联关系------映射单向多对一的关联关系

    映射单向多对一的关联关系 新建Customer.java: package com.dx.jpa.singlemanytoone; import java.util.Date; import java ...