您的位置:首页 > 编程语言 > Java开发

Gradle基本使用(4):构建Java项目

2017-09-23 22:49 288 查看

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 脚本如下:

1
//project的group、version信息
2
group 'site.assad'
3
version '1.0'
4
//使用插件
5
apply plugin: 'java'
6
sourceCompatibility = 1.8
7
8
//使用的外部源    
9
repositories {
10
   mavenCentral()
11
}
12
//添加项目依赖
13
dependencies {
14
   testCompile group: 'junit', name: 'junit', version: '4.11'
15
   testCompile group: 'junit', name: 'junit', version: '4.12'
16
}
17
以上脚本部分是关于依赖管理,可以参照:http://blog.csdn.net/al_assad/article/details/78074155当添加了新的依赖时,如果使用的是IDEA环境,点击Gradle面板的刷新按钮即可从远程仓库下载依赖库;

2)构建 Java 项目

以上的脚本语言已经使用了 Java 插件,在IDEA中创建后的文件目录如下:



1

project          


2

   ├ build      //存放构建输出


3

   ├ src            


4

   |   ├ main         //存放源代码和资源  


5

   |   |    ├ java        //源代码


6

   |   |    └ resources   //项目资源


7

   |   └ test       //存放测试代码和资源


8

   |        ├ java


9

   |        └ resources


10

   ├  build.gradle    //构建脚本


11

   └  settings.gradle


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】选项,创建后得到的目录一般如下:

1
project          
2
   ├ build      
3
   ├ src            
4
   |   ├ main        
5
   |   |    ├ java        
6
   |   |    ├ resources  
7
   |   |    ├ webapp     //web App 目录
8
   |   |          └ index.jsp
9
   |   └ test      
10
   |        ├ java
11
   |        └ resources
12
   ├  build.gradle   //构建脚本
13
   └  settings.gradle
IDEA 默认情况下,WEB-INF 会创建到 .idea 目录下,可以通过以下的方法添加 WEB-INF 和 web.xml :打开【Project Struct】界面,按如以下添加 web.xml ,在弹出的界面中将 web.xml 的路径修改为 " 项目路径 \src\main\webapp\WEB-INF\web.xml ";


 之后得到的项目目录如下:



1

project          


2

   ├ build      


3

   ├ src            


4

   |   ├ main        


5

   |   |    ├ java        


6

   |   |    ├ resources  


7

   |   |    └ webapp     //web App 目录


8

   |   |         ├ WEB-INF


9

   |   |         |    └ web.xml


10

   |   |         └ index.jsp


11

   |   └ test      


12

   |        ├ java


13

   |        └ resources


14

   ├  build.gradle   //构建脚本


15

   └  settings.gradle


build.gradle 基本的构建脚本如下:

1

group 'site.assad'


2

version '1.0'


3



4

apply plugin: 'java'   //使用Java插件


5

apply plugin: 'war'    //使用war插件


6



7

sourceCompatibility = 1.8


8



9

repositories {


10

   mavenCentral()


11

}


12



13

dependencies {


14

   testCompile group: 'junit', name: 'junit', version: '4.11'


15

   testCompile group: 'junit', name: 'junit', version: '4.12'


16

}


17



18

war{


19

   archiveName = 'testDemo.war'       //手动配置 war 包名称


20

}


21



注意以上脚本添加了 war 插件,用于将 Java Web 项目打包为 war 包,由于在默认情况下,gradle 会将war包命名为“PoejectName-Project.version.war”的格式(如“testDemo-1.0-SNAPSHOT.war”),可能不太方便调试,所以以上脚本手动配置了war的打包名;

将项目打包为 war 包,只要运行“gradle war”或直接在gradle面板中点击 war 即可,构建后的 war 包输出在“build\libs”路径下;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: