Idea之使用Gradle开发Java项目

IDEA拥有大量的JAVA开发者拥护,相比于开源的eclipse,IDEA拥有更简洁直观的界面,拥有更强大的自动补全功能,号称能“一路敲回车完成编码”。如果把IDEA和eclipse比作手机系统,IDEA就好比IOS,美观、强大、人性化、傻瓜化,官方就帮你解决了大部分问题与操作。eclipse更像android,自由、开放、高度可定制,通过一系列的插件也可以达到IDEA同样的、甚至更个性化的体验,但是操作不免让人感觉复杂、上手难。

Gradle作为build工具的新星,受到谷歌的大力拥护,直接钦定为AS的御用build工具,在java web方面也大有取代maven上位的趋势,已成为IDEA默认支持的构建工具。gradle最大的优势是可以直接在脚本中运行groovy语言,这就使得gradle具有非常强大的扩展性。

使用IDEA+gradle所组成的工具为项目开发带来了极大的便利,熟练的使用它们相信会为我们带来事半功倍的效果

一,何为build工具

我们写一个java web程序大致需要以下步骤呢:

  1. 从版本控制系统下载基础源码
  2. 编写程序,并在这过程中复制相应的依赖包到classpath目录下
  3. 编译java 文件,形成jar包
  4. 运行单元测试
  5. 生成代码覆盖度报告和测试报告
  6. 打包形成war文件
  7. 上传到测试服务器上,进行部署

在以前,这些操作都是需要我们手动去完成的。比如当引入一个外部依赖时,我们要专门去相应的地方拷贝得到jar包,或者得到源码编译出jar包,然后复制到classpath目录下。写完代码后,我们需要手动使用编译工具编译,然后手动去运行测试工具进行单元测试,如果没问题的话,再手动打包成war包,然后手动上传到服务器指定目录部署。

一个项目下来我们将会在这些与写代码无关的事情上浪费大量时间,而这些行为很明显是重复的,完全可以编写出相应的程序来帮助我们自动的完成这一系列的操作。而且多人合作时,每个人使用的外部依赖库的版本可能不一样,当合并项目后有可能会因为版本的不同带来BUG,而且这些BUG非常不容易让人发现,人们急需一个统一管理第三方依赖的工具。于是build工具出现了。

二,在IDEA中创建一个gradle构建的java web项目

最新版的IDEA默认集成了gradle,不用安装gradle程序就可以在IDEA中创建gradle管理的项目

1,创建项目

2,填写项目ID

PS:引自百度知道

groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找搜索。

groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。

比如我创建一个项目,我一般会将groupId设置为cn.zr,cn表示域为中国,zr是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.zr.testProj打头的,如果有个StudentDao,它的全路径就是cn.zr.testProj.dao.StudentDao

3,配置gradle

4,填写工程名

5,得到的最终目录结构和build.gradle文件

三,gradle使用说明

gradle是一个工具,通过执行build.gradle来实现build的功能,build.gradle这个build脚本是需要程序员自己来编写的,可以使用groovy语言来编写,功能强大而且直观。也可以直接引入其他人已经编写好的脚本或工具来实现build,引入方法为通过apply plugin: 'plugin名'语句实现,plugin可以是build脚本也可以是java程序。

gradle官方提供了很多常用的build plugin,比如我们这次创建项目引入的‘war’plugin,他是继承自‘java’这个plugin,在实现‘java’plugin中关于build java程序的基础上,额外定义了java web项目目录、打包war包等功能,剔除了打包jar包的功能,具体详情可以在gradle官方文档中查看到。

build操作通过引入相应的plugin基本就可以实现了,在平时的使用过程中,我们主要对gradle的操作是添加第三方依赖,让gradle帮我们管理这些第三方依赖。

通过手动操作引入一个第三方依赖(例如spring core)

  1. 前往spring官网找到其提供的spring core下载地址
  2. 选择一个需要的版本下载下来
  3. 解压,将得到的jar包移动到我们项目的classpath目录下

只需三步,看起来并不是很复杂。但是一个项目需要引入的第三方依赖的数量往往是十分巨大的,而且假如我们下载的spring core版本是4.3.6,并且这是一个多人共同协作的项目,当大家的工作合并起来时,如果有人使用的是4.2.1版本,我们是很难发现这个不同的,而这却可能导致BUG。同时,要删除某些不再需要的依赖时我们只能去classpath目录下找到它并手动删除掉。

使用gradle引入一个第三方依赖(例如spring core)

gradle兼容maven仓库,所以可以直接使用maven仓库来导入第三方依赖。maven仓库是按照一定协议来存放各种第三方依赖库的空间,可以通过groupID和artifactid定位来找到自己需要的第三方依赖库。

  1. 在build.gradle中指定用来下载依赖库的仓库,可以使用网址或者本地地址来指定,也可以使用“mavenCentral()”这些gradle定义的地址来使用默认的仓库。
  2. 在dependencies中使用写入依赖库所在组(group),名称(name),版本号(version)

仓库只需要定义一次,通过上面的配置gradle就会从定义好的仓库中找到相应的依赖包下载下来并编译好,然后就可以直接在代码中使用了。在mvnrepository这个远程maven仓库中,它提供了引入相应依赖包的配置,只需复制下来黏贴到buil.gradle文件中即可。

通过build工具管理依赖库的优点

  1. 方便,不需要进行各种文件操作。
  2. 直观,项目中使用了哪些第三方依赖一目了然
  3. 统一,同一项目中的成员只要保证使用同一build脚本就可以做到环境和依赖包的统一

四,关于Javaweb中gradle的目录配置和IDEA对gradle的适配

java web有自己的程序包规范(封包格式为.war),类似于安卓中的apk文件。将其移动到web服务器(如tomcat)的相应目录中,web服务器就会将其解压、部署,将网站跑起来。当然也可以直接将其解压,将得到的目录移动到服务器程序指定的目录下(类似于Apache的www目录)即可。

war包结构

gradle定义的项目结构(准确来说是‘war’这个plugin定义的)

将项目目录结构定义的有别于程序包目录结构,是为了方便程序员在编写程序的时候更加直观的管理项目文件,因为程序包定义的目录结构不一定适合人们直观的对其进行操作。比如war包专门定义了一个Resource目录,方便用户集中管理资源文件和各种配置文件

IDEA的项目构建配置(ctrl+alt+shift+s)

IDEA对各种构建工具的适配就主要体现在这个界面,在这个界面可以提供可视化的构建操作

使用Gradle进行多模块管理

1、父模块

settings.gradle配置

是模块Module配置文件,大多数setting.gradle的作用是为了配置子工程,根目录下的settings.gradle脚本文件是针对module的全局配置,它的作用域所包含的所有module是通过settings.gradle来配置。
settings.gradle用于创建多Project的Gradle项目。Project在IDEA里对应Module模块。
例如配置module名rootProject.name = 'finaical',为指定父模块的名称,include 'util' 为指定包含哪些子模块

build.gradle的配置

subprojects中的配置:

apply plugin: 'java'          apply plugin: 'war'    下载插件

repositories为指定第三方依赖包仓库的地址,图中配置的依次为本地仓库,maven私服地址,以及maven中央仓库。

dependencies为添加第三方的依赖包:这里是引用的dependencies.gradle文件里面配置的依赖。

dependencies.gradle中的配置

引入第三方的包依赖,其他模块可以直接引用。

2、子模块中的配置

子模块中只需配置build.gradle文件即可

该文件可以引入第三方依赖包,同时依赖其他模块

子模块可以直接引入父模块在 dependencies.gradle文件里面配置的依赖,同时上图还依赖了api模块。

参考文章:

idea+Gradle使用教程 - 程序员大本营idea+Gradle使用教程_青春季风暴-CSDN博客_gradle 使用

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在使用Gradle构建Spring Boot项目之前,需要确保已经安装了Gradle和相应的Java SDK。接下来,遵循以下步骤创建项目工程: 1.首先创建一个文件夹,并在此文件夹中创建一个build.gradle文件。 2.在build.gradle文件中添加以下代码块来声明Spring Boot插件: ``` plugins { id 'org.springframework.boot' version '2.2.4.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' } ``` 3.接着添加以下代码块来声明项目的依赖: ``` dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-devtools' testImplementation 'org.springframework.boot:spring-boot-starter-test' runtimeOnly 'mysql:mysql-connector-java' } ``` 4.运行Gradle来下载和安装项目所需的依赖: ``` gradle clean build ``` 5.创建一个Spring Boot应用程序: ``` package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 6.构建并运行项目: ``` gradle bootRun ``` 以上就是使用Gradle构建Spring Boot项目工程的详细教程。这种方法可以提高开发效率,并将代码与项目依赖性集成在一起。 ### 回答2: Gradle是一款开源的自动化构建工具,是目前最为流行的Java项目自动化构建工具之一,可以帮助我们管理项目依赖、执行构建任务、自动化测试等。 Spring Boot是一个快速开发应用程序的框架,几乎可以零配置使用,可以轻松地构建Web应用程序并且支持很多种开发方式。使用Gradle构建Spring Boot项目工程,可以快速构建Spring Boot应用程序。 以下是详细步骤: 一、创建Spring Boot项目 在开始使用Gradle构建Spring Boot项目之前,首先需要创建Spring Boot项目。可以使用Spring官方提供的Spring Initializr工具来创建Spring Boot项目。 具体步骤如下: 1.访问Spring Initializr网站 https://start.spring.io/ 2.选择项目的基本配置信息,包括项目类型、项目名称、项目包名、项目版本号等。 3.选择项目依赖,例如选中Web、JPA、MySQL等依赖。 4.点击“Generate”按钮生成Spring Boot项目,将项目下载到本地电脑上。 二、配置Gradle 1.在项目根目录下创建build.gradle文件, 具体内容如下: //设置Gradle版本 buildscript { ext { springBootVersion = '2.4.1' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } //设置依赖项 apply plugin: 'java' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' group = 'com.xxx.xxx'//修改为自己的工程名称 version = '0.0.1-SNAPSHOT'//工程版本号 sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'mysql:mysql-connector-java' testImplementation 'org.springframework.boot:spring-boot-starter-test' } 2.保存build.gradle文件后,在终端中执行gradle build命令即可构建项目,生成的工程目录如下: /build /classes /generated /libs /reports /resources /tmp /bootJar 三、运行Spring Boot应用程序 1.在build.gradle文件中添加以下配置信息: bootRun { sourceResources = sourceSets.main.output.resourcesDir } 2.在终端中执行gradle bootRun命令,即可运行Spring Boot应用程序,在浏览器中输入http://localhost:8080/hello进行访问。 四、打包应用程序 1.在build.gradle文件中添加以下配置信息,用于打包应用程序: bootJar { archiveName = 'app.jar'// 修改生成的文件名 } 2.在终端中执行gradle bootJar命令进行打包,生成的应用程序在工程目录下的build/libs文件夹中,即可部署到服务器上进行使用。 五、总结 通过Gradle构建Spring Boot项目,可以帮助我们更方便地管理项目依赖,执行构建任务,自动化测试等,从而提高项目开发效率和质量。希望本文对你有所帮助。 ### 回答3: 构建Spring Boot项目工程时,使用Gradle是一个较好的选择。因为Gradle是一个极其强大的构建工具,可以快速方便地构建出高效稳定的项目。下面是使用Gradle构建Spring Boot项目工程的详细教程: 第一步:创建新的Gradle项目 在创建Gradle项目时,需要确保使用Gradle版本是5.0及以上版本。 第二步:添加依赖 在构建Spring Boot项目的过程中,我们需要导入一些必要的依赖,比如web依赖。可以在build.gradle文件中添加以下内容: dependencies { compile('org.springframework.boot:spring-boot-starter-web') } 第三步:添加Spring Boot插件 可以通过在build.gradle文件中添加以下内容,来将spring-boot插件添加到项目中: plugins { id 'org.springframework.boot' version '2.6.0' } 第四步:添加源代码 src/main下新建java目录,java目录下新建包名 com.zxy.springboot ,随后在这个包下新建一个名为 SpringBootDemoApplication.java 的文件; 然后在 SpringBootDemoApplication.java 中添加如下内容: package com.zxy.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDemoApplication.class, args); } } 第五步:运行程序 在build.gradle所在目录,运行以下命令: gradle bootRun 至此,构建Spring Boot项目工程的详细教程已经介绍完毕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕城南风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值