文章目录
- 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文件夹下,然后重启,访问正常。