谷粒商城学习笔记-逆向工程错误记录

文章目录

  • [1,Since Maven 3.8.1 http repositories are blocked.](#1,Since Maven 3.8.1 http repositories are blocked.)
  • [2,internal java compiler error](#2,internal java compiler error)
  • [3,启动逆向工程报错,The dependencies of some of the beans in the application context form a cycle](#3,启动逆向工程报错,The dependencies of some of the beans in the application context form a cycle)
    • [3.1 解决方案一,修改PageHelper版本](#3.1 解决方案一,修改PageHelper版本)
    • [3.2 解决方案二,降低spring-boot版本](#3.2 解决方案二,降低spring-boot版本)
  • 4,无法正常访问逆向工程前端页面
    • [4.1 增加日志配置](#4.1 增加日志配置)
    • [4.2 解决方案](#4.2 解决方案)

1,Since Maven 3.8.1 http repositories are blocked.

编译逆向工程时报如下错误。

bash 复制代码
Since Maven 3.8.1 http repositories are blocked.

原因是自从3.8.1版本开始,处于安全考虑,maven禁用了http的镜像仓库,企业安装的私服通常都是http的地址,所以报这个错误。

解决方案如下

1.1 在maven的settings.xml文件中,新增如下配置:

bash 复制代码
	<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

bash 复制代码
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

报错提示如下:

bash 复制代码
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。

bash 复制代码
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.4.1</version>
</dependency>

3.2 解决方案二,降低spring-boot版本

这是可行的方法,但不推荐。

bash 复制代码
<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配置文件。

文件内容如下。

bash 复制代码
<?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文件夹下,然后重启,访问正常。

相关推荐
名字不要太长 像我这样就好2 小时前
【iOS】OC源码阅读——alloc源码分析
笔记·学习·macos·ios·objective-c
xin007hoyo3 小时前
算法笔记.染色法判断二分图
数据结构·笔记·算法
conkl3 小时前
如何初入学习编程包含学习流程图
学习·流程图
大学生亨亨4 小时前
go语言八股文(五)
开发语言·笔记·golang
FAREWELL000757 小时前
C#进阶学习(十六)C#中的迭代器
开发语言·学习·c#·迭代器模式·迭代器
无敌小茶7 小时前
Linux学习笔记之动静态库
linux·笔记
DXM05217 小时前
牟乃夏《ArcGIS Engine地理信息系统开发教程》学习笔记3-地图基本操作与实战案例
开发语言·笔记·学习·arcgis·c#·ae·arcgis engine
qsmyhsgcs8 小时前
Java程序员转人工智能入门学习路线图(2025版)
java·人工智能·学习·机器学习·算法工程师·人工智能入门·ai算法工程师
Humbunklung9 小时前
PySide6 GUI 学习笔记——常用类及控件使用方法(常用类矩阵QRectF)
笔记·python·学习·pyqt
每次的天空10 小时前
Android学习总结之Java篇(一)
android·java·学习