说明
最近学习了模块化,后面工作可能用到,使用springboot写了一个简单的demo
版本说明
springboot 2.6.1
mysql 8.0
redis 6
j2cache 2.8
mybatis-plus 3.4.3.4
遇到的问题
多个模块有相同的导入
Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Modules slf4j.simple and logback.classic export package org.slf4j.impl to module spring.boot.starter.tomcat
解决
mvn dependency:tree
查看依赖,排除一个依赖即可
修改pom.xml排除对应的依赖
反射问题
Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to module fst
环境变量添加
--add-opens java.base/java.lang=fst
--add-opens java.base/java.net=fst --add-opens java.base/java.text=fst
数据库连接池问题
Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
模块module-info.java添加数据库连接池的导入
requires org.slf4j;
requires com.zaxxer.hikari;
代码正常运行步骤
不加module-info.java保证项目正常运行
加入module-info.java,将需要的依赖添加到module-info
启动程序根据错误错误添加需要的依赖
无法启动程序则对比不加module-info和加完之后的日志然后加入相关的依赖重试