修复WebManager$2类加载错误: 匿名X509TrustManager改为静态具名内部类TrustAllX509Manager,解决Bukkit类加载器NoClassDefFoundError

This commit is contained in:
2026-06-26 19:49:15 +08:00
parent 80c8715264
commit f333e59621
+11 -14
View File
@@ -422,6 +422,15 @@ public class WebManager {
});
}
// ==================== 静态内部类 ====================
// ★ 静态具名内部类替代匿名X509TrustManager(解决Bukkit类加载器NoClassDefFoundError)
private static class TrustAllX509Manager implements X509TrustManager {
public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }
public void checkClientTrusted(X509Certificate[] certs, String authType) {}
public void checkServerTrusted(X509Certificate[] certs, String authType) {}
}
// ==================== 工具方法 ====================
/**
@@ -434,13 +443,7 @@ public class WebManager {
* ★ CF兼容:强制TLS 1.2 + 指定密码套件 + 自动重建连接
*/
private void initSSL() {
final TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }
public void checkClientTrusted(X509Certificate[] certs, String authType) {}
public void checkServerTrusted(X509Certificate[] certs, String authType) {}
}
};
final TrustManager[] trustAllCerts = new TrustManager[]{ new TrustAllX509Manager() };
try {
// ★ 使用TLS 1.2(CF兼容性最好,TLS 1.3与CF边缘偶发不兼容)
@@ -473,13 +476,7 @@ public class WebManager {
*/
private void rebuildHttpClient() {
try {
final TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }
public void checkClientTrusted(X509Certificate[] certs, String authType) {}
public void checkServerTrusted(X509Certificate[] certs, String authType) {}
}
};
final TrustManager[] trustAllCerts = new TrustManager[]{ new TrustAllX509Manager() };
SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc.init(null, trustAllCerts, new SecureRandom());
javax.net.ssl.SSLParameters sslParams = sc.getDefaultSSLParameters();