說明
最近學習了模塊化,后面工作可能用到,使用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和加完之后的日志然后加入相關的依賴重試