Gradle 构建Java项目(IDEA环境)
使用 Gradle 来构建 Java 项目十分方便,而 gradle 脚本借助 groovy 提供十分强大的灵活性和构建能力;
以下是使用 gradle 构建 Java 项目的基本过程:
1)创建构建脚本-添加依赖
在项目的根目录下创建一个
build.gradle
构建脚本,如果是 IDEA,可以直接创建 gradle 工程模板,详见:
http://blog.csdn.net/al_assad/article/details/78074119;
一个 IDEA 创建的默认 build.gradle 脚本如下:
以上脚本部分是关于依赖管理,可以参照: http://blog.csdn.net/al_assad/article/details/78074155
当添加了新的依赖时,如果使用的是IDEA环境,
点击Gradle面板的刷新按钮即可从远程仓库下载依赖库;
2)构建 Java 项目
以上的脚本语言已经使用了 Java 插件,在IDEA中创建后的文件目录如下:
Gradle 构建脚本提倡约定大于配置,以下是 Gradle Java 插件的一些
默认会从
src/main/java
搜寻打包源码,在
src/test/java
下搜寻测试源码。
所有
src/main/resources
下的所有文件按都会被打包,
所有
src/test/resources
下的文件 都会被添加到类路径用以执行测试。所有文件都输出到 build 下,打包的文件输出到 build/libs 下;
Gradle Java 插件本身已经包含大量构建Java项目常用的Task,一些常用的任务如下:
build |
构建项目,并将 src/main/ 目录下的 class 和资源文件打包 |
clean |
删除 build 目录以及所有构建完成的文件。 |
assemble |
编译并打包 jar 文件,但不会执行单元测试。一些其他插件可能会增强这个任务的功能。例如,如果采用了 War 插件,这个任务便会为你的项目打出 War 包。 |
check |
编译并测试代码。一些其他插件也可能会增强这个任务的功能。例如,如果采用了 Code-quality 插件,这个任务会额外执行 Checkstyle。 |
可以在命令行定位到 build.gradle 所在目录,运行 "
gradle tasks" 查询所有可用的 task;
调用这些 task 时,运行"
gradle taskName" 即可(如调用 build 任务:“
gradle build”);
如果使用 IDEA 环境,可以直接在界面右侧的 Gradle 面板直接调用这些 task;
将 Java 项目打包为 Jar ,只要运行 “
gradle jar”或者直接在gradle面板中点击 jar 即可,打包的 jar 会输出到 build/libs 目录下;
3)构建 Java Web 项目
构建 Java Web 项目和构建一般的 Java 项目类似,在 IDEA 创建 Gradle 项目时勾选【Web,Java】选项,创建后得到的目录一般如下:
IDEA 默认情况下,WEB-INF 会创建到 .idea 目录下,可以通过以下的方法添加 WEB-INF 和 web.xml :
打开【Project Struct】界面,按如以下添加 web.xml ,在弹出的界面中将 web.xml 的路径修改为 "
项目路径 \src\main\webapp\WEB-INF\web.xml
";
之后得到的项目目录如下:
build.gradle 基本的构建脚本如下:
注意以上脚本添加了 war 插件,用于将 Java Web 项目打包为 war 包,由于在默认情况下,gradle 会将war包命名为“PoejectName-Project.version.war”的格式(如“testDemo-1.0-SNAPSHOT.war”),可能不太方便调试,所以以上脚本手动配置了war的打包名;
将项目打包为 war 包,只要运行“
gradle war”或直接在gradle面板中点击 war 即可,构建后的 war 包输出在“build\libs”路径下;