升级到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> <artifactId>hutool-all</artifactId>
<version>${hutool.version}</version> <version>${hutool.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.12.7</version>
</dependency>
</dependencies> </dependencies>
</project> </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> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
</plugin> </plugin>
<!-- 跳过单元测试 --> <!-- 跳过单元测试 -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@ -95,6 +96,15 @@
<skipTests>true</skipTests> <skipTests>true</skipTests>
</configuration> </configuration>
</plugin> </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> </plugins>
</build> </build>
</project> </project>

View File

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

View File

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

View File

@ -1,13 +1,20 @@
package com.aircraft; 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.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles("dev")
public class EladminSystemApplicationTests { public class EladminSystemApplicationTests {
@Test @Test
public void contextLoads() { public void contextLoads() {
} }
public static void main(String[] args) { public static void main(String[] args) {

View File

@ -28,7 +28,7 @@
<logback.version>1.2.9</logback.version> <logback.version>1.2.9</logback.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <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> <fastjson2.version>2.0.54</fastjson2.version>
<druid.version>1.2.19</druid.version> <druid.version>1.2.19</druid.version>
<commons-pool2.version>2.11.1</commons-pool2.version> <commons-pool2.version>2.11.1</commons-pool2.version>