踩坑记录
IDEA 编译OOM
现象
fms 工程在编译时,抛出 OOM 异常,使用 Maven 编译是正常的。在编译过程中发现两个问题。
- 除了 javac 编译外,还在使用 kotlin 编译
- 系统剩余内存足够,使用 Maven 编译的 war 包可以在 tomcat 中正常启动。
原因
IDEA 可以设置编译时的堆(HEAP)大小,默认值是 700(MBytes) ,一般的工程也足够但是 fms 不够,超过了 700(MBytes) 就报 OOM。
解决办法
- 在 IDEA 中设置编译时的堆大小。
泛型擦除
现象
在 doraemon-fs
中写了 spring 的 bean,然后增加了一个配置类,在配置类中使用 @ComponentScan
注解配置对扫描的包名,在写了一个 @EnableFsQuery
注解,在 mdm 启动类上打注解 @EnableFsQuery
,mdm 启动时无法注入指定的 bean。
1 |
|
原因
@EnableFsQuery
注解上没有打生命周期对应的注解。泛型的默认 RetentionPolicy.CLASS
,在运行期间不保留注解。
解决办法
1 |
|
自定义切面启动异常
现象
Spring 启动报异常:
1 | :0 can't find referenced pointcut |
原因
AspectJ 依赖包 aspectjweaver
版本过低导致。
解决办法
升级依赖包
1 | <dependency> |