mirror of
https://gitee.com/dromara/sa-token.git
synced 2026-05-14 04:42:09 +08:00
memo: 备忘录重构为专门的文件夹
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
|
||||
## 未完成目标:
|
||||
## 未完成目标
|
||||
|
||||
|
||||
### 1、尝试将所有 `<properties>` 依赖版本号定义在同一个 pom.xml 里。 **[❌失败]**
|
||||
133
MEMO/2--2026-3-1_诡异调试记录.txt
Normal file
133
MEMO/2--2026-3-1_诡异调试记录.txt
Normal file
@@ -0,0 +1,133 @@
|
||||
|
||||
2026-3-1 调试记录
|
||||
|
||||
启动 SaOAuth2ServerApplication,报错空指针:SaOAuth2ServerController 文件的 SaOAuth2Strategy.instance.notLoginView 空指针,SaOAuth2Strategy.instance 为 null
|
||||
|
||||
|
||||
SaOAuth2Strategy.instance 的定义为:
|
||||
public static final SaOAuth2Strategy instance = new SaOAuth2Strategy();
|
||||
|
||||
看代码是无论如何也不可能空指针的,诡异。
|
||||
|
||||
在 main 方法第一句加上测试
|
||||
|
||||
@SpringBootApplication
|
||||
public class SaOAuth2ServerApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(SaOAuth2Strategy.instance);
|
||||
SpringApplication.run(SaOAuth2ServerApplication.class, args);
|
||||
System.out.println("\nSa-Token-OAuth2 Server端启动成功,配置如下:");
|
||||
System.out.println(SaOAuth2Manager.getServerConfig());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
打印居然为 null。
|
||||
|
||||
询问 AI,解释的乱七八糟,没有参考价值。
|
||||
|
||||
然后在根目录执行 mvn clean,居然无法成功。sa-token-test 模块无法 clean 。
|
||||
|
||||
报错 test 依赖不存在
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
最后必须在 dependencyManagement 加上这个才行
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<version>2.7.18</version>
|
||||
</dependency>
|
||||
|
||||
可是就算不加,我也已经在 sa-token-spring-boot2-dependencies 中定义这个依赖了呀,为什么 在 sa-token-test 中无法 import spring-boot-starter-test ?
|
||||
|
||||
加了后,mvn clean 执行成功了
|
||||
|
||||
但是 mvn package 又开始无法打包。
|
||||
|
||||
可以昨天我明明能打包成功的啊?今天好像就变动了一下 sa-token-test 中的依赖配置。这有什么影响吗?
|
||||
|
||||
而且打包报错信息居然是:sa-token-jboot-plugin 插件中 javax.servlet.http.HttpServletRequest 无法转换为 HttpServletRequest
|
||||
|
||||
什么东西啊。
|
||||
|
||||
抓头挠腮解决不了。
|
||||
|
||||
这个插件已经十几个版本没有变动过代码了,代码不变,打包环境不变,命令不变,今天就突然报这种莫名其妙的错误,无奈,只能先去除这个插件,不让它参与打包。
|
||||
|
||||
继续打包,又开始报错:
|
||||
|
||||
sa-token-jfinal-plugin 中 cn.dev33.satoken.context.SaTokenContext 无法转换为 SaTokenContext。
|
||||
|
||||
这一瞬间我怀疑自己正处于梦中。
|
||||
|
||||
纠结了半分钟,继续去除此插件,继续打包。
|
||||
|
||||
打包成功了。
|
||||
|
||||
启动 SaOAuth2ServerApplication,启动成功,SaOAuth2ServerController 文件的 SaOAuth2Strategy.instance.notLoginView 空指针问题,消失了。
|
||||
|
||||
请问中间的这几个报错和这个空指针有任何关联吗?我请问呢?
|
||||
|
||||
|
||||
|
||||
注:以上所有叙述均为最后打包成功后进行回忆,可能细节上略有偏差。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
两小时后:
|
||||
本来可以运行成功的代码,只要一改子模块的代码就无法再运行成功,报错:java: 无法访问SaRequest。
|
||||
试了好多解决方案,不行。
|
||||
|
||||
---
|
||||
吃了两份炉盖香酥鸡饼,原来人在压力大的时候真的需要补充能量。
|
||||
---
|
||||
|
||||
继续报错:
|
||||
Maven 资源编译器: 模块 'sa-token-oauth2' 所需的 Maven 项目配置不可用。仅当从 IDE 启动外部构建时,才支持 Maven 项目编译。
|
||||
sa-token-jwt、sso、sign 等模块均出现此问题
|
||||
|
||||
最后:
|
||||
把项目删掉,重新下载一份,导入
|
||||
项目可以运行成功了,但是每次修改子模块,在 demo 示例里无法实时起作用。需要 mvn clean install 才能看到效果。
|
||||
|
||||
最后:
|
||||
取消勾选 maven 配置项:Delegate IDE build/run actions to Maven
|
||||
|
||||
一切问题解决,包括最上面的诡异调试现象也消失了。
|
||||
|
||||
idea,你给老子爬
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user