当jdk1.8+springboot遇上时间差12小时

  • 1、背景:最近工作过程中发现了一个奇怪的现象,使用jdk1.8+springboot开发的jar,当部署到centos7上时,new date生成的时间会比系统时间慢了12小时,写入到mysql数据库也显示比系统时间慢12小时

  • 2、问题排查:因为数据源里配置了serverTimezone=GMT+8,因此mysql不背锅,而且即便是时区问题也应是差8而不是差12小时(捂脸)

  • 3、引用网上大佬的经验:

    在只剩下最艰难的一条道路可走时,我们意外的发现了一个好消息,应用在linux上的日志时间也是错误的,这个无疑给我们确定了,问题就是应用程序出的,而且可以知道应该就是时区出了问题,一般这种情况都是修改下jre lib下得时区,可是1.8版本中我并没有找到对应得文件夹,还有方法是修改tomcat得catalina配置文件,可是我用的是springboot,通过一通百度,最终发现了一个比较好使用的方法,在springboot 的启动类中添加这么一个方法,至此,测试系统时间修改成功

    //方法名随意,主要是@PostConstruct注解修饰,还在项目启动类加载后执行该方法
    @PostConstruct
    void setDefaultTimezone(){
        TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
    }
    
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用JDK 1.8创建Spring Boot项目的步骤: 1. 首先,确保你已经安装了JDK 1.8,并将其配置为系统环境变量。 2. 打开终端或命令提示符,并使用以下命令创建一个新的Spring Boot项目: ```shell spring init --name=myproject --groupId=com.example --artifactId=myproject --dependencies=web myproject ``` 这将创建一个名为myproject的新项目,groupId为com.example,artifactId为myproject,并且添加了web依赖。 3. 进入项目目录: ```shell cd myproject ``` 4. 使用任何文本编辑器打开pom.xml文件,并在<dependencies>标签中添加以下内容,以引入Spring Boot的父引用: ```xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.3.RELEASE</version> </parent> ``` 5. 打开src/main/java/com/example/myproject目录,并创建一个名为StartSpringbootApplication.java的Java类。 6. 将以下代码复制到StartSpringbootApplication.java文件中: ```java package com.example.myproject; import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan(basePackages = "com.example.myproject.mapper") public class StartSpringbootApplication { public static void main(String[] args) { SpringApplication.run(StartSpringbootApplication.class, args); } } ``` 7. 保存并关闭StartSpringbootApplication.java文件。 8. 在终端或命令提示符中,使用以下命令启动Spring Boot应用程序: ```shell mvn spring-boot:run ``` 现在,你已经成功创建了一个使用JDK 1.8的Spring Boot项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值