修改不影响测试环境启动
This commit is contained in:
@@ -3,37 +3,37 @@ package com.ruoyi.framework.config;
|
|||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
@Configuration
|
//@Configuration
|
||||||
public class ClassloaderConfig {
|
//public class ClassloaderConfig {
|
||||||
|
//
|
||||||
@PostConstruct
|
// @PostConstruct
|
||||||
public void bindAppClassLoader() {
|
// public void bindAppClassLoader() {
|
||||||
ClassLoader appClassLoader = this.getClass().getClassLoader();
|
// ClassLoader appClassLoader = this.getClass().getClassLoader();
|
||||||
Thread.currentThread().setContextClassLoader(appClassLoader);
|
// Thread.currentThread().setContextClassLoader(appClassLoader);
|
||||||
System.out.println("已强制绑定线程类加载器:" + appClassLoader);
|
// System.out.println("已强制绑定线程类加载器:" + appClassLoader);
|
||||||
|
//
|
||||||
// 重点:主动加载 Tomcat WebSocket 核心类,确保类加载器锁定
|
// // 重点:主动加载 Tomcat WebSocket 核心类,确保类加载器锁定
|
||||||
try {
|
// try {
|
||||||
// Tomcat WebSocket 容器类(冲突核心类)
|
// // Tomcat WebSocket 容器类(冲突核心类)
|
||||||
appClassLoader.loadClass("org.apache.tomcat.websocket.server.WsServerContainer");
|
// appClassLoader.loadClass("org.apache.tomcat.websocket.server.WsServerContainer");
|
||||||
// Tomcat WebSocket 初始化类
|
// // Tomcat WebSocket 初始化类
|
||||||
appClassLoader.loadClass("org.apache.tomcat.websocket.server.WsServletContainerInitializer");
|
// appClassLoader.loadClass("org.apache.tomcat.websocket.server.WsServletContainerInitializer");
|
||||||
// Spring WebSocket 适配类
|
// // Spring WebSocket 适配类
|
||||||
appClassLoader.loadClass("org.springframework.web.socket.server.standard.ServerEndpointExporter");
|
// appClassLoader.loadClass("org.springframework.web.socket.server.standard.ServerEndpointExporter");
|
||||||
// Jakarta WebSocket API 类(应用内依赖)
|
// // Jakarta WebSocket API 类(应用内依赖)
|
||||||
appClassLoader.loadClass("jakarta.websocket.server.ServerContainer");
|
// appClassLoader.loadClass("jakarta.websocket.server.ServerContainer");
|
||||||
System.out.println("WebSocket 核心类已通过应用类加载器锁定,无冲突");
|
// System.out.println("WebSocket 核心类已通过应用类加载器锁定,无冲突");
|
||||||
} catch (ClassNotFoundException e) {
|
// } catch (ClassNotFoundException e) {
|
||||||
System.err.println("应用类加载器未找到 WebSocket 依赖,检查 spring-boot-starter-websocket 是否正常引入:" + e.getMessage());
|
// System.err.println("应用类加载器未找到 WebSocket 依赖,检查 spring-boot-starter-websocket 是否正常引入:" + e.getMessage());
|
||||||
throw new RuntimeException("WebSocket 依赖缺失", e);
|
// throw new RuntimeException("WebSocket 依赖缺失", e);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 验证 Validator 类加载
|
// // 验证 Validator 类加载
|
||||||
try {
|
// try {
|
||||||
appClassLoader.loadClass("jakarta.validation.Validator");
|
// appClassLoader.loadClass("jakarta.validation.Validator");
|
||||||
System.out.println("Jakarta Validation API 加载成功");
|
// System.out.println("Jakarta Validation API 加载成功");
|
||||||
} catch (ClassNotFoundException e) {
|
// } catch (ClassNotFoundException e) {
|
||||||
System.err.println("Validator 依赖缺失:" + e.getMessage());
|
// System.err.println("Validator 依赖缺失:" + e.getMessage());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
Reference in New Issue
Block a user