文章目錄
- 1,Since Maven 3.8.1 http repositories are blocked.
- 1.1 在maven的settings.xml文件中,新增如下配置:
- 1.2,執行clean命令刷新maven配置
- 2,internal java compiler error
- 3,啟動逆向工程報錯,The dependencies of some of the beans in the application context form a cycle
- 3.1 解決方案一,修改PageHelper版本
- 3.2 解決方案二,降低spring-boot版本
- 4,無法正常訪問逆向工程前端頁面
- 4.1 增加日志配置
- 4.2 解決方案
1,Since Maven 3.8.1 http repositories are blocked.
編譯逆向工程時報如下錯誤。
Since Maven 3.8.1 http repositories are blocked.
原因是自從3.8.1版本開始,處于安全考慮,maven禁用了http的鏡像倉庫,企業安裝的私服通常都是http的地址,所以報這個錯誤。
解決方案如下
1.1 在maven的settings.xml文件中,新增如下配置:
<mirror><id>maven-default-http-blocker</id><mirrorOf>dummy</mirrorOf><name>Dummy mirror to override default blocking mirror that blocks http</name><url>http://0.0.0.0/</url><blocked>false</blocked></mirror>
注意這段配置的父標簽是mirrors
,此外settings.xml中內容很多,注意粘貼問題,小心粘貼到已經注釋的內容中,導致不生效。
1.2,執行clean命令刷新maven配置
如下,點擊clean
,或者在命令行輸入mvn clean
。
2,internal java compiler error
internal java compiler error
這個是因為Java版本和代碼使用的Java版本對不上,導致無法編譯,修改工程和模塊的Java版本即可。
先打開工程設置。
如下圖所示,查看工程和模塊的下面Language Level
配置,選擇Java8。
3,啟動逆向工程報錯,The dependencies of some of the beans in the application context form a cycle
報錯提示如下:
The dependencies of some of the beans in the application context form a cycle:┌──->──┐
| com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration
顯然是出現了循環依賴。
查閱了SpringBoot官網消息,SpringBoot2.6.x后不推薦使用循環依賴,因為項目中存在Bean的循環依賴,是代碼質量低下的表現。
因此,SpringBoot2.6.X默認禁用循環依賴。
也就是說從2.6.x版本開始,如果你的項目里還存在循環依賴,SpringBoot將啟動失敗。
3.1 解決方案一,修改PageHelper版本
從錯誤提示中看到,程序循環依賴的是PageHelper,搜索到PageHelper從1.4.1版本已經解決了循環依賴,所以把PageHelper的版本改為1.4.1。
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.1</version>
</dependency>
3.2 解決方案二,降低spring-boot版本
這是可行的方法,但不推薦。
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.2.RELEASE</version><relativePath/>
</parent>
4,無法正常訪問逆向工程前端頁面
從頁面上看,報404錯誤,說明已經訪問到服務器,但是服務器沒有給出正常響應。
4.1 增加日志配置
為了排查問題,首先,加上debug日志,先給逆向工程增加logback配置文件。
在逆向工程的resources文件下,增加logback-spring.xml
配置文件。
文件內容如下。
<?xml version="1.0" encoding="UTF-8"?>
<configuration><include resource="org/springframework/boot/logging/logback/base.xml" /><logger name="org.springframework.web" level="DEBUG"/><logger name="org.springboot.sample" level="TRACE" /><!-- 開發、測試環境 --><springProfile name="dev,test"><logger name="org.springframework.web" level="INFO"/><logger name="org.springboot.sample" level="INFO" /><logger name="io.renren" level="DEBUG" /></springProfile><!-- 生產環境 --><springProfile name="prod"><logger name="org.springframework.web" level="ERROR"/><logger name="org.springboot.sample" level="ERROR" /><logger name="io.renren" level="ERROR" /></springProfile></configuration>
注意下面圖中的配置,日志打印級別修改為Debug
。
4.2 解決方案
重啟啟動后,根據日志,發現問題是找不到靜態html
文件。
看了逆向工程的代碼目錄結構,發現逆向工程的html
文件在views
文件夾下。
我把這三個文件拷貝到static文件夾下,然后重啟,訪問正常。