Java項(xiàng)目《谷粒商城》Java架構(gòu)師 | 微服務(wù) | 大型電商項(xiàng)目

踩坑合集
使用版本(相對(duì)老師更高)
springboot 2.7.8
springcloud 2021.0.5
springcloud alibaba 2021.0.4.0
p6 無(wú)法以在線的方式安裝 centos
- 從 cmd 中獲取鏡像鏈接,用 fdm 離線下載
- 將鏡像添加到管理列表,vagrant box add <box-name> <box-path>
- 初始化鏡像,vagrant init <box-name>
- 啟動(dòng)鏡像,vagrant up
p16 npm 安裝 node-sass 速度慢/錯(cuò)誤
配置文件的路徑:win:C:\Users\[你的賬戶名稱]\.npmrc
1) 修改為淘寶鏡像
npm config set registry https://registry.npm.taobao.org
2) 設(shè)置 sass 的來(lái)源
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
3) 卸載 saas,再次安裝
npm uninstall saas
npm install saas
p22 引入 srpingcloud openfeign 項(xiàng)目啟動(dòng)報(bào)錯(cuò)
由于Spring Cloud Feign在Hoxton.M2 RELEASED版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer會(huì)報(bào)錯(cuò).
- nacos中排除ribbon依賴
- 引入 spring-cloud-loadbalancer
p25 nacos 多配置不生效
需要將相關(guān)的配置(如連接 nacos,nacos 多配置文件數(shù)據(jù)),需要填寫(xiě)到 bootstrap.yml/bootstrap.properties
文件
2020版本以后,官方重構(gòu)了bootstrap引導(dǎo)配置的加載方式,還需添加spring-cloud-starter-bootstrap依賴,使nacos讀取
p27 gulimall-gateway 創(chuàng)建后無(wú)法運(yùn)行
gulimall-common 中已引入 spring-boot-starter-web
,spring-cloud-start-gateway 中也引入了這個(gè)包
在 gateway 的 pom.xml 里,common依賴排除 start-web 即可
P46 renren-fast 注冊(cè)到服務(wù)中心
報(bào)錯(cuò)1
java.lang.NoSuchMethodError: 'com.google.common.collect.UnmodifiableIterator com.google.common.collect.Sets$SetView.iterator()'
解決
追加依賴
<dependency> ?<groupId>com.google.guava</groupId> ?<artifactId>guava</artifactId> ?<version>30.1-jre</version> </dependency>
報(bào)錯(cuò)2
Caused by: java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.toString()" because the return value of "springfox.documentation.spi.service.contexts.Orderings.patternsCondition(springfox.documentation.RequestHandler)" is null
原因
在 springboot2.6.x
往上,starter-actuator 和 swagger2 版本間存在沖突
解決
引入的 common 依賴,排除 spring-boot-starter-actuator
<dependency> ?<groupId>com.agg.gulimall</groupId> ?<artifactId>gulimall-common</artifactId> ?<version>0.0.1-SNAPSHOT</version> ?<exclusions> ??<exclusion> ???<groupId>org.springframework.boot</groupId> ???<artifactId>spring-boot-starter-actuator</artifactId> ??</exclusion> ?</exclusions> </dependency>
p47 網(wǎng)關(guān)配置后還報(bào)錯(cuò)跨域
老師的配置的 corsWebFilter()
中的配置需要變更
由 allowedOrigin
調(diào)整為 allowedOriginPatterns
p62 alicloud-oss 官方文檔和老師視頻里的不一致
- 依賴引入的不一致
- yml 配置不一致
按老師的配置
xml <dependency> ?<groupId>com.alibaba.cloud</groupId> ?<artifactId>spring-cloud-starter-alicloud-oss</artifactId> ?<version>1.5.1.RELEASE</version> </dependency> yml spring: cloud: ?alicloud: ??access-key: *** ??secret-key: *** ??oss: ???endpoint: *** ???bucket-name: ***
如果版本過(guò)高,會(huì)報(bào)錯(cuò):
Parameter 0 of method inetIPv6Util in com.alibaba.cloud.nacos.utils.UtilIPv6AutoConfiguration required a single bean, but 2 were found: ???- spring.cloud.inetutils-org.springframework.cloud.commons.util.InetUtilsProperties: defined in unknown location ???- inetUtilsProperties: defined by method 'inetUtilsProperties' in class path resource [org/springframework/cloud/commons/util/UtilAutoConfiguration.class]
按 23 年阿里官網(wǎng)的配置
xml <dependency> ?<groupId>com.alibaba.cloud</groupId> ?<artifactId>aliyun-oss-spring-boot-starter</artifactId> ?<version>1.0.0</version> </dependency> <dependency> ?<groupId>com.aliyun.oss</groupId> ?<artifactId>aliyun-sdk-oss</artifactId> ?<version>3.15.1</version> </dependency> yml alibaba: cloud: ?access-key: *** ?secret-key: *** ?oss: ??endpoint: o***m ??bucket-name: ***
============================================
正在推進(jìn)中,后續(xù)還有踩坑,繼續(xù)補(bǔ)充