升级到JDK17

This commit is contained in:
sugus 2025-07-10 09:49:44 +08:00
parent 5ac6e0523b
commit f070627221
7 changed files with 102 additions and 2 deletions

View File

@ -20,5 +20,10 @@
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.12.7</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,76 @@
package com.aircraft.config;
import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.databind.deser.std.DateDeserializers;
import com.fasterxml.jackson.databind.ser.std.DateSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.text.DateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
/**
* Author sjc
* Date 2024/7/30 15:44
*/
@Configuration
@Slf4j
public class JacksonConfig {
/**
* DateTime格式化字符串
*/
private static final String DEFAULT_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
/**
* Date格式化字符串
*/
private static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd";
/**
* Time格式化字符串
*/
private static final String DEFAULT_TIME_PATTERN = "HH:mm:ss";
private static final String DEFAULT_TIME_ZONE = "GMT+8";
/**
* Jackson序列化和反序列化转换器用于转换Post请求体中的json以及将对象序列化为返回响应的json
*/
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
DateFormat dateTimeDf = DateUtil.newSimpleFormat(DEFAULT_DATETIME_PATTERN, Locale.CHINA, TimeZone.getTimeZone(DEFAULT_TIME_ZONE));
DateTimeFormatter dateTimeDtf = DateTimeFormatter.ofPattern(DEFAULT_DATETIME_PATTERN).withZone(ZoneId.of(DEFAULT_TIME_ZONE));
DateTimeFormatter dateDtf = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN).withZone(ZoneId.of(DEFAULT_TIME_ZONE));
DateTimeFormatter timeDtf = DateTimeFormatter.ofPattern(DEFAULT_TIME_PATTERN).withZone(ZoneId.of(DEFAULT_TIME_ZONE));
return builder -> builder
.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(dateTimeDtf))
.serializerByType(LocalDate.class, new LocalDateSerializer(dateDtf))
.serializerByType(LocalTime.class, new LocalTimeSerializer(timeDtf))
.serializerByType(Date.class, new DateSerializer(false, dateTimeDf))
.deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(dateTimeDtf))
.deserializerByType(LocalDate.class, new LocalDateDeserializer(dateDtf))
.deserializerByType(LocalTime.class, new LocalTimeDeserializer(timeDtf))
.deserializerByType(Date.class, new DateDeserializers.DateDeserializer(DateDeserializers.DateDeserializer.instance, dateTimeDf, DEFAULT_DATETIME_PATTERN))
.serializerByType(Long.TYPE, ToStringSerializer.instance)
.serializerByType(Long.class, ToStringSerializer.instance);
}
}

View File

@ -87,6 +87,7 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- 跳过单元测试 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@ -95,6 +96,15 @@
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<!-- 强制 JDK 17 编译 -->
<release>17</release>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -19,6 +19,7 @@ import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import com.aircraft.annotation.rest.AnonymousGetMapping;
import com.aircraft.utils.SpringBeanHolder;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.ApplicationPidFileWriter;
@ -36,6 +37,7 @@ import org.springframework.web.bind.annotation.RestController;
@Api(hidden = true)
@SpringBootApplication
@EnableTransactionManagement
@MapperScan("com.aircraft.**.mapper")
public class AppRun {
public static void main(String[] args) {

View File

@ -52,7 +52,7 @@ public class MysqlGenerator extends SuperGenerator {
public static void main(String[] args) {
MysqlGenerator mysqlGenerator = new MysqlGenerator();
// Arrays.asList("user","role","user_role").stream().forEach(table -> {
Arrays.asList("ttt").stream().forEach(table -> {
Arrays.asList("fms_ac_aircraft_device").stream().forEach(table -> {
mysqlGenerator.generator(table);
});
}

View File

@ -1,13 +1,20 @@
package com.aircraft;
import com.aircraft.modules.system.domain.FmsAcAircraftDevice;
import com.aircraft.modules.system.service.FmsAcAircraftDeviceService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles("dev")
public class EladminSystemApplicationTests {
@Test
public void contextLoads() {
}
public static void main(String[] args) {

View File

@ -28,7 +28,7 @@
<logback.version>1.2.9</logback.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<java.version>17</java.version>
<fastjson2.version>2.0.54</fastjson2.version>
<druid.version>1.2.19</druid.version>
<commons-pool2.version>2.11.1</commons-pool2.version>