Gradle学习之构建java与web项目

简介: 一.使用Gradle的java插件构建Java项目 1)Gradle插件包含了若干个接口定义和已有的任务项,语法结构:apply plugin:'插件名' ,此处我们定义插件 apply plugin : 'java'   2)Gradle希望我们的java项目需要遵循以下规范: ...

一.使用Gradle的java插件构建Java项目

1)Gradle插件包含了若干个接口定义和已有的任务项,语法结构:apply plugin:'插件名' ,此处我们定义插件

apply plugin : 'java'

 

2)Gradle希望我们的java项目需要遵循以下规范:

    src/main/java :放置java源文件
    src/test/java :放置测试文件,比如单元测试等
    src/main/resources: 此目录下的文件会被作为资源文件打入jar包
    src/test/resources: 放置提供给测试用的配置文件


3) java插件包含了若干个构建项目的任务,最常用的就是build任务,当我们运行build任务时,Gradle会编译,运行我们的测试脚本(类)并生成jar文件在build/lib下

4) 其他常用的任务:
    clean:删除已经构建的目录及其文件
    assemble:编译并生成Jar或者war文件,注意不会运行测试文件
    check:编译并测试代码

二.外部依赖

 

1)和maven类似,如果要在项目中添加所依赖的外部jar文件,我们必须要告诉Gradle在哪里找到它们
语法:

 1 repositories {
 2     jcenter()
 3     mavenLocal() //maven本地仓库
 4     mavenCentral() //maven中心仓库
 5     /* 
 6         指定maven远程仓库地址
 7      */
 8     maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
 9     maven { url "http://repo.spring.io/snapshot" }
10     maven { url "http://repo.spring.io/milestone" }
11 }

 

2)当指定好仓库地址时,我们可以添加依赖
语法:

dependencies{
  compile group:'类似于maven中的groupid',name:'类似于maven中的affactid',version:'版本号'
  compile 'group:name:version'
}

 

三.java多项目构建

 1)gradle也可以支持多项目构建,比如说如下项目:

  multiproject/
    api/
    services/webservice/
    shared/
    services/shared/
2)此时我们要在settings.gradle里配置 依赖的模块:

include "shared", "api", "services:webservice", "services:shared"

 


3)比如说 shared模块要依赖api模块 我们可以在shared模块中的build.gradle文件中这样写:

dependencies {
  compile project(':shared')
}

 

4)常见属性
sourceCompatibility: 使用哪种JDK版本编译
targetCompatibility : 生成class的Java版本

 

四。构建web项目

1)需要添加web插件:apply plugin:'war'
2) war任务 主要用于将web应用程序打包成war
3) 与maven规范一致:web的相关资源位于src/main/webapp下

使用示例:

war {
    from 'src/rootContent' // adds a file-set to the root of the archive
    webInf { from 'src/additionalWebInf' } // adds a file-set to the WEB-INF dir.
    classpath fileTree('additionalLibs') // adds a file-set to the WEB-INF/lib dir.
    classpath configurations.moreLibs // adds a configuration to the WEB-INF/lib dir.
    webXml = file('src/someWeb.xml') // copies a file to WEB-INF/web.xml
}

另外我们可以设置webAppDirName来指定我们web上下文路径

 

目录
相关文章
|
7天前
|
Java
Java基础学习day05-作业
本文为Java基础学习第五天作业,通过五个案例练习类与对象的定义、构造方法、set/get方法及成员方法的应用。涵盖女友、学生、教师、手机和电影等类的设计与测试,强化面向对象编程基础。
43 2
|
7天前
|
安全 Java 编译器
Java基础学习day06
本节学习Java继承与多态核心概念:继承通过extends实现,子类可复用父类非私有成员,支持单继承与多层继承,遵循就近原则并可用super调用父类成员;方法重写需满足权限与返回值约束,常用于重写toString等。多态基于继承,实现父类引用指向子类对象,提升扩展性但无法直接访问子类独有方法,可通过instanceof安全类型转换。
60 2
|
8天前
|
存储 Java
Java基础学习day05
本节介绍Java面向对象编程基础,涵盖类与对象的概念、构造器、this关键字、封装、Javabean及static修饰符的使用。重点讲解如何通过类设计对象、实现数据封装与方法暴露,并理解静态成员的特点与应用场景。
45 2
|
8天前
|
Java
Java基础学习day04-作业
本作业包含8个Java编程案例,涵盖数组的定义与遍历、求和、最值计算、去极值求平均、元素倍增、二维数组行和计算及查找指定元素等内容,旨在巩固Java基础语法与数组操作技能。
89 1
|
9天前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
96 0
|
10天前
|
存储 Java 索引
Java基础学习day04
本节讲解Java数组基础,包括静态与动态初始化、元素访问及遍历方法,并介绍二维数组的定义与使用,帮助理解程序数据存储方式。
38 5
|
10天前
|
算法 Java
Java基础学习day03-作业
本内容包含多个Java编程案例,涵盖条件判断、循环、数组、随机数生成、素数判断等基础算法练习,适用于巩固Java语法与逻辑思维训练。
64 6
|
10天前
|
Java
Java基础学习day02-作业
本内容包含13个Java编程练习需求,涵盖变量定义、数据类型转换、运算符使用、键盘输入及条件判断等基础语法实践,适合初学者巩固Java核心基础知识。
33 5
|
Java
Java基础学习day01-作业
通过多个Java编程案例,学习变量定义、数据类型使用及控制台输出。涵盖字符串、数值、布尔值等字面量输出,变量赋值与修改,以及实际应用场景如学生信息和商品价格变化的模拟,夯实基础语法掌握。
43 0
|
10天前
|
Java
Java基础学习day03
本节讲解Java流程控制,涵盖分支结构(if、switch)与循环结构(for、while、do-while),介绍其语法、执行流程及应用场景,并解析break、continue用法与循环嵌套,助力掌握程序逻辑控制核心。
60 0