Gradle 笔记——Java构建入门
来源:互联网 发布:手机拍摄淘宝视频 编辑:程序博客网 时间:2024/06/05 09:37
Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码。而大部分的项目,它们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建代码,因为Gradle已经为我们提供了相应的插件。Gradle 本身自带了许多插件,而对于Gradle没有的插件,可以去github上看看有没有其他人实现,或自己实现。对Java项目而言,Gradle有Java插件,提供了像编译、测试、打包之类的功能。
这里简单介绍一下Java插件。
Java插件为构建项目定义了许多的默认设置,像源文件目录,编译后的文件存放位置等等。如果你是按着默认的规则来的,那么构建脚本将会很简单。当然,如果项目结构不一样,也可以自己指定这些规则。这里暂不介绍,只说一下基本的用法。
1. 使用Java插件
只需要要构建脚本中添加以下代码:
定义一个Java项目只需要添加这么一句代码,它会为你添加Java插件,以及一些内置任务。
默认情况下,Gradle会在src/main/java中查找你的源码,在src/test/java中查找你的测试代码,而src/main/resources下的文件都会被打包,src/test/resources下的文件会被包含在classpath中用于测试。所有输出的文件都保存在build目录里,而生成的jar包则是在build/libs里面。
2. 构建项目
Java插件帮你定义了许多任务,这个可以通过前面说的gradle tasks命令来看。当执行gradle build 时,Gradle会执行编译,测试,并且将源文件和资源文件打成jar包。
除了build之外,还有几个常用的任务,如下:
clean:删除build目录和其他构建时生成的文件。
assemble:编译并打包,但不执行单元测试。不过一些其他插件可能会增强这个任务,例如 War 插件会再打出war包。
check:编译并测试代码。其他插件可能会增强这个任务。比如 Code-quality 插件会让这个任务去执行Checkstyle。
3. 外部依赖
然后再通过下面代码添加依赖:
上面的代码中,声明了在编译期,需要依赖 commons-collections,在测试期需要依赖 junit。
4. 自定义项目
5. 发布JAR包
以下代码是发布JAR包到本地中。发布到maven仓库或jcenter仓库以后再讨论。执行gradle uploadArchives即可发布该JAR包。
6. 创建Eclipse项目
执行gradle eclipse会生成eclipse项目文件,关于此插件以后再细说。
7. 小结
8. 多项目构建
首先需要创建一个settings.gradle的配置文件,来声明构建要包含哪些项目。文件的内容如下:
多项目构建,以后会详谈。
9. 公共配置
上面的配置就会子项目都应用了java和eclipse-wtp插件,声明了maven中央仓库,添加了测试期的依赖junit,以及定义了项目版本包和打成的jar包里的manifest文件的属性。
10. 项目依赖
原文转载自:
- Gradle 笔记——Java构建入门
- Gradle 笔记——Java构建入门
- Gradle 笔记——Java构建入门
- Gradle笔记——构建基础
- Gradle笔记——构建基础
- Gradle笔记——构建基础
- Gradle笔记——构建基础
- Gradle笔记——构建基础
- Gradle笔记——构建基础
- Gradle笔记——构建基础
- Gradle第七章:Java构建入门
- gradle 构建java应用 使用笔记
- gradle系列笔记一:使用gradle构建java项目
- Gradle——构建springboot
- gradle构建java工程
- Gradle构建之初步入门
- Gradle之构建脚本入门
- Gradle笔记2-构建脚本
- 大型网站技术架构
- Java中带包的类的编译与执行
- 今日学习札记——C++指针3(11.4)
- Network Link Conditioner
- [重新认识cocos2dx---工具篇] 一 cocos命令行之语言包MultiLanguage
- Gradle 笔记——Java构建入门
- xcode7不允许HTTP传输的过渡办法
- mac安装redis3.0.5分布式集群
- HttpClient设置请求超时和读取超时
- ios app 修改名称后,收到的推送通知 显示的仍然是上一个名称 问题
- node.js study
- iOS工程中添加cocoapods
- 关于Struts2框架下使用servlet的配置
- c++父类子类同名变量