【Gradle】Java Gradle 插件
Java Gradle 插件
如何应用
apply plugin:'java'
Java插件约定的项目结构
Project
|--build.gradle
|--src
|--main
|--java
|--resources
|--test
|--java
|--resources
main和test是Java插件为我们内置的两个源代码集合,如果想添加自定义的集合,如vip,则可以这样修改:
apply plugin:'java'
sourceSets{
vip{
}
}
添加一个vip源代码集合,然后我们在src目录下添加vip/java,vip/resources目录,就可以分别存放vip相关的源代码和资源文件了。
特殊情况下,我们需要修改java的文件目录,只需要在build.gradle配置对应的目录即可:
sourceSets{
main{
java{
srcDir 'src/java'
}
resources{
srcDic 'src/resources'
}
}
}
如何配置很三方依赖
要想使用第三方依赖,需要告诉Gradle如何找到这些依赖
repositories{
mavenCentral()
}
以上脚本我们配置了一个Maven中心库,告诉Gradle可以在Maven中心库中搜寻我们依赖的第三方库。我们也可以从jcenter库、ivy库、本地Maven库、自己搭建的Maven私服库等 ,甚至我们本地配置的文件夹也可以作为一个仓库。
repositories{
mavenCentral()
maven{
url 'http://www.mavenurl.com'
}
}
有了仓库后,通过配置来告诉Gradle需要依赖什么:
dependencies{
implementation group:'com.squareup.okhttp3',name:'okhttp',version:'3.0.1'
}
以上的简写方式,直接把group,name,version去掉,以:分隔:
dependencies{
implementation 'com.squareup.okhttp3:okhttp:3.0.1'
}
除了以上这种编译时依赖,Gradle还提供了编译测试用例时的依赖:testImplementation
Java插件可以为不同的源集在编译和运行时指定不同的依赖:
dependencies{
mainImplementation 'com.squareup.okhttp3:okhttp:3.0.1'
vipImplementation 'com.squareup.okhttp3:okhttp:2.5.0'
}
项目依赖:
dependencies{
implementation project(':demo')
}
文件依赖:
dependencies{
implementation files('libs/demo.jar','libs/demo2.jar')
}
简写方式:
dependencies{
implementation fileTree(dir:'libs',include:'*.jar')
}
如何构建一个Java项目
常见的任务:
build任务:构建整个项目。
clean任务:删除build目录以及其它构建生成的文件。
assemble任务:不会执行单元测试,只编译和打包。
check任务:只会执行单元测试。
javadoc任务:生成Java格式的doc api文档。
源码集合[SourceSet]概念
SourceSet是Java插件用来描述和管理源代码及其资源的一个概念,是一个Java源代码文件和资源文件的集合。
Java插件添加的任务
详见p65
Java插件添加的属性
详见p66
多项目构建
Project
|--app
|--app.iml
|--build.gradle
|--src
|--base
|--base.iml
|--build.gradle
|--src
以上是目录结构,app是主项目,base是我们的基础依赖项目。下面在settings.gradle中配置:
include ':app'
project(':app').projectDir=new File(rootDir,'chapter6/demo/app')
include ':base'
project(':base').projectDir=new File(rootDir,'chapter6/demo/base')
Gradle为我们提供了基于根项目对其所有子项目的通用配置的方法
subprojects{
apply plugin:'java'
repositories{
mavenCentral()
}
}
如何发布构件
详见p69
生成Idea和Eclipse配置
详见p71
【Gradle】Java Gradle 插件的更多相关文章
- Gradle & Java
Gradle & Java Gradle Build Tool I Modern Open Source Build Automation https://gradle.org/ https: ...
- Java Gradle入门指南之插件管理(类型、导入及java plugin使用)
上一篇随笔介绍了如何使用Gradle内建任务,介绍了自定义Gradle任务类的三种方法(build文件,buildSrc文件夹.新建groovy项目),一个任务是一个原子操作,即不可分割的.项 ...
- Java Gradle入门指南之gretty插件(安装、命令与核心特性)
Java Web应用开发时常使用Gradle来进行项目管理,可以十分便利地解决包依赖等问题.war插件的出现,让项目部署成为一个复制粘贴的过程,那有没有办法让Java web应用的部署,就像w ...
- Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)
开发任何软件,如何管理依赖是一道绕不过去的坎,软件开发过程中,我们往往会使用这样那样的第三方库,这个时候,一个好的依赖管理就显得尤为重要了.作为一个自动构建工作,Gradle对依赖管理有着很好 ...
- Java Gradle入门指南之简介、安装与任务管理
这是一篇Java Gradle入门级的随笔,主要介绍Gradle的安装与基本语法,这些内容是理解和创建build.gradle的基础,关于Gradle各种插件的使用将会在其他随笔中介绍. ...
- Gradle Java Web应用程序并在Tomcat上运行
1- 创建Gradle工程 打开 Eclipse ,在菜单中找到 File -> New -> Other…,在打开界面中选择 Gradle Project,如下图中所示 - 点击下一步( ...
- Gradle自己定义插件
Gradle自己定义插件 在Gradle中创建自己定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在buildSrc中使用 在独立Module中使用 开发Gradle ...
- java~gradle构建公用包并上传到仓库
java~gradle构建公用包并上传到仓库 我们一般会把公用的代码放在一个包里,然后其它 项目可以直接使用,就像你使用第三方包一样! 仓库 存储包的地方叫做仓库,一般可以分为本地仓库和远程仓库,本地 ...
- java~gradle构建公用包并上传到仓库~使用私有仓库的包
在新的项目里使用仓库的包 上一讲中我们说了java~gradle构建公用包并上传到仓库,如何发布公用的非自启动类的包到私有仓库,而这一讲我们将学习如何使用这些包,就像我们使用spring框架里的功能包 ...
随机推荐
- 使用Navicat Keygen激活(破解)Navicat Premium 12
1.到Navicat官网下载使用版本进行安装,具体操作不再详述.Navcat官网下载链接:http://www.navicat.com.cn/download/navicat-premium : 2. ...
- Linux 实验 [Day 01]
目录 1. Linux 简介(略过) 2. Linux 基本概念及操作:命令.快捷键与通配符 2.1 基础命令 2.2 终端快捷键 2.3 通配符 2.4 帮助命令 3. 用户及文件权限管理 3.1 ...
- 【Linux 命令】cp 命令详解
Linux 命令之 cp 命令详解 一.cp 命令简介 cp 命令主要用于复制文件或目录.即用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp 命令可以将单个源文件复制成一个指定文件名的 ...
- js 获取当前日期和时间
//显示日期在页面上 yyy-MM-dd function init(){ var date=new Date(); //年 var year=date.getFullYear(); //月 var ...
- Mysql 主从复制搭建-极简版
前言 自己在百度.Google一番踩坑搭建成功后,记录一下,也希望后来人不再被这些坑到. 这里为了方便使用 docker,不会的同学请移步相关 Docker 教程. 正文 1. 启动 mysql #启 ...
- ABAP分享一 弹出框函数的简单示例
在开发中经常会使用到弹出框这个功能,在SAP中有很多函数可以实现类似的功能,这里介绍一个比较简单常用的函数 POPUP_TO_CONFIRM 下面是一个实现的简单示例: TABLES sscrfie ...
- dpwwn: 1 Vulnhub Walkthrough
主机层面扫描: ╰─ nmap -p1-65535 -sV -A 10.10.202.130 22/tcp open ssh OpenSSH 7.4 (protocol 2.0) 80/ ...
- MinU: v2 Vulnhub Walkthrough
主机层面扫描: 22 和 3306 端口 3306 端口默认是MySQL端口,但是这里尝试爆破报错,最后通http访问发现非MySQL协议,而是一个http的服务 http的协议我们进行目录枚举下 枚 ...
- 个人app如何收集用户日志
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/147 个人app如何收集用户日志,相信不少人对这个话题感兴 ...
- canvas在vue中的应用
使用cavas可以绘制各种图表.生成二维码.制作H5小游戏. 生命周期 canvas应该在mounted的生命周期中初始化,在updated中是无效的. export default { mounte ...