写在前面;
使用maven管理写过几个springboot的系统, 此篇博客纯属记录整理学习的过程.
另外, 源码分享地址在最后.
Java: 1.8.0_281
tomcat: 1.8
IDE: IntelliJ IDEA 2021.3.2(Ultimate Edition)
gradle: 目前(2022-04-08 17:05:31)官网最新是7.4.2, 但是我用的不是(后面解释)
系统: win10(win11也有测试)
编写md工具: MarkText v0.17.1
在开始之前先把maven的本地仓库共享给gradle在启动idea.
GRADLE_USER_HOME 不要拼错误了
1. idea创建gradle项目 1.2 填写如下图 1.3 点击Finish 创建项目为什么会有上图中这种情况呢? 等各种进程跑完后我们来看项目根目录下的/gradle/wrapper/gradle-wrapper.properties文件
图中已经给出了默认gradle是7.1 这里的版本正好对应到上一张图中下载的版本.
那么下载的位置在那里呢? 其实图中也给出了,在wrapper/dists, 那父文件夹呢? 是你用户名下的.gradle 文件夹
这个位置可以在idea中进行设置, 可以更改到其他盘
在此回答开头介绍环境时候没有指定gradle版本的问题:
1. 很多教程里开头都是先去gradle官网下载压缩包,bin包也好,all包也好,
然后解压,配置环境变量GRADLE_HOME, 然后PATH中添加%GRADLE_HOME%\bin
2. 是因为之前的版本(应该是idea 20 版本之前)在创建gradle项目的最后
可以选择是使用默认gradle版本还是使用本地的, 也即在Finish之前还有一步
可以选择的页面.
3. 既然取消掉了创建时候选择本地版本, 应该是统一使用wrapper管理,
默认也是wrapper文件生效(创建成功后可以在设置中选择使用本地gradle版本)
4. 这样最别扭的就是可能在.gradle下会有很多安装包, 虽然.gradle可以换位置.
2. 添加依赖
使用springboot写一个简单的web接口, 以下依赖可以在 maven仓库 中进行搜索
2.1 配置仓库加载顺序和在项目中配置阿里源 2.2 全局阿里源反复尝试过下面几种, 但是速度并没有将上图中注释放开的情况下速度快
(500k或1M, 配置的全局一直50多k)
参考:
-
gradle配置国内阿里源
-
将gradle镜像源改为阿里源 - 简书
-
Idea Gradle配置阿里源
-
Gradle配置阿里云镜像
注: 如果在添加环境变量GRADLE_USER_HOME(本地maven仓库共享给gradle)前启动的idea, 且你maven库中已经有了这个版本, 可能需要重启idea, 才会读取到本地maven库
gradle的jar包仓库默认在 .gradle\caches\modules-2\files-2.1\ 中
2.4 另外一种写法导入 hutoolimplementation是默认的导入方式, 还有其他的导入方式(如:只在测试时候生效, 只运行时候生效等等)未做深究.
3 写一个简单的web接口 3.1 创建启动器在src/main/java下创建com.demo.DemoApplication类文件
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
// idea自启动
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApplication.class);
}
// 设置时区
@PostConstruct
void setDefaultTimezone() {
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
}
}
3.2 创建接口
随便写的接口, 这里就没有接数据库, 也不写yml文件了(接口默认8080)
@RestController
@RequestMapping("/demo")
public class TestController {
@RequestMapping("/time")
public String time() {
return DateUtil.now();
}
}
4 运行测试接口
4.1 运行
4.2 测试接口
浏览器输入 localhost:8080/demo/time
5 打war包 5.1 默认是打jar包 5.2 修改java为war, 然后ctrl shift o 5.3 clean 一下 然后双击 war记得将项目停止了.
war包的位置在项目根目录下 /build/libs/gradle-demo-1.0-SNAPSHOT.war
那么如何去掉后面的版本号呢? 在build.gradle内添加以下代码重新打包即可.
war {
archiveName("demo.war")
}
5.4 打开本地tomcat服务器, 将war包放入webapps下
可以看到已经运行成功. 记得将项目停止了.
5.5 浏览器测试浏览器输入 localhost:8080/demo/demo/time
其中第一个demo是项目名(war包名称)
6 结束至此gradle已经完成了, 其他扩展知识点可以跟着去学习
1. groovy语法(.gradle后缀名的文件)
2. gradle创建子项目(多模块或微服务需要的内容)
学习gradle入门以来, 确实感觉到比maven的pom管理jar包方式会方便很多, 尤其显示的行数会少很多. 至于其他的区别, 已经gradle让人有爱又恨的地方就去网上了解吧, 很有意思.
源码: 初识gradle