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