1. Java和eclipse插件
- 初始化时创建java项目目录结构
1 | $ gradle init --type java-library |
- 默认的
build.gradle
的内容,默认已添加java插件。Java插件可以引入源代码约定,默认情况下到src/main/java
下查找代码;并提供build
,compileJava
等task
1 | // build.gradle |
- 查看当前
.classpath
1 | <?xml version="1.0" encoding="UTF-8"?> |
- 添加eclipse插件
1 | apply plugin: 'eclipse' |
- 执行IDE支持,如关联Referenced Libraries等
1 | $ gradle eclipse |
2. 构建项目
- 新建入口类
1 | package com; |
- 项目根目录下运行
1 | $ gradle build |
UP-TO-DATE
标记了被跳过的任务。Gradle的增量式构建支持自动鉴别不需要被执行的任务,如compileTestJava
,因为当前项目里没有添加单元测试类。构建生成的class、jar包、单测结果等文件在build/
目录下。
3. 运行项目
1 | $ java -cp build/classes/main/ com.Main |
4. 修改项目和插件属性
build.gradle
中添加
1 | //定义项目版本, |
运行gradle build
后,build/lib/
下生成LearnGradle-0.1.jar
,接着
1 | $ java -jar build/libs/LearnGradle-0.1.jar |
5. 可自定义源代码目录结构
- 示例
1 | sourceSets { |
6. 定义中央仓库
1 | repositories { |
7. 引入外部依赖
gradle中,依赖由configuration
分组
1 | dependencies { |
默认依赖的jar包在用户目录的.gradle/cache/
下。可以通过如下的task将项目依赖的jar包复制到项目目录中
1 | task downloadLib(type: Copy) { |
8. 构建简单的Java Web项目
build.gradle
添加gretty
插件
1 | apply plugin: 'war' |
- 构建web项目目录结构
1 | $ mkdir -p src/main/webapp/WEB-INF |
- web页面
在webapp/
创建一个静态HTML页面index.html
,这个页面是之后访问的目标页面
1 | <html> |
- 编译
运行gradle build
,build/libs/
目录下生成了LearnGradle-0.1.war
文件,查看该war包内容
1 | $ jar -tf build/libs/LearnGradle-0.1.war |
- 运行
1 | $ gradle jettyStart |
在浏览器中打开http://localhost:8080/LearnGradle/index.html
即可看到Hello Gradle Java Web!
Gretty相关链接
9. 包装器wrapper和跨平台
- 自动创建
通过gradle init --type java-library
初始化的项目已包含以下文件:gradlew
,gradlew.bat
,gradle/wrapper/gradle-wrapper.jar
,gradle/wrapper/gradle-wrapper.properties
。Linix / Windows平台可以在下载代码后通过gradlew
/ gradlew.bat
在命令行操作项目
- 手动创建
在build.gradle
添加任务
1 | task wrapper (type: Wrapper) { |
1 | $ gradle wrapper |