谷粒商城所遇问题及解决方法

使用环境:

Vagrant:Vagrant 2.3.4

VirtualBox:VirtualBox6.37

Docker:Docker version 23.0.1, build a5ee5b1

Java:Java 11.0.8

Maven:Apache Maven 3.5.0

IDEA 2021.2

设计数据库:PowerDesigner

node v10.16.3

Nacos 1.2.1

P6 vargrant up加速太慢,删除Vargrantfile文件,使用 vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box 命令,

或先本地下载,下载链接: https://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box ,再vargrant up即可。

P6 使用Vagrant 2.3.4和VirtualBox7.0 出现报错:

The virtual machine 'Master' has terminated unexpectedly during startup with exit code 1 (0x1). More details may be available in 'C:\Users\meng.lv\VirtualBox VMs\Master\Logs\VBoxHardening.log'.

解决方案:降低VirtualBox版本,使用的版本号为VirtualBox6.37。其中VirtualBox\drivers下无\vboxdrv文件夹。

vagrant up //启动虚拟机
vagrant reload //重启虚拟机
vagrant ssh //连接虚拟机
service mysqld status//查看mysql是否启动

ctrl+l //Linux清屏快捷键
ip addr //查看虚拟机网络地址
ipconfig //查看windows网络地址

su root //变为root权限

Docker 镜像网站: Docker Hub

sudo docker images //查看当前虚拟机有无下载镜像
sudo systemctl enable docker //让docker开机自启动

配置阿里云镜像加速器(P9)

sudo docker pull mysql:5.7.36 //mysql下载
sudo docker ps -a //查看所有容器

主机地址 192.168.56.10
mysql设置的密码 : root root
本地连接密码: root root

P10 Mysql无法启动,重启不显示,docker ps无mysql服务:

解决方案:首先要端口放行或直接关闭防火墙,使用 docker ps -a 发现mysql没有挂载成功(端口映射失败)。在Mysql配置中 vi /mydata/mysql/conf/my.cnf 文件不能复制须手打配置(空格都要求相同),再 docker restart mysql ,docker ps 查看mysql启动成功。

systemctl start firewalld //开启防火墙
firewall-cmd --zone=public --add-port=1935/tcp --permanent //开放指定端口
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp |grep 3306 //查看3306端口使用情况

Docker配置mysql

 sudo docker run -it -p 3306:3306 --name mysql \
 -v /mydata/mysql/log:/var/log/mysql \
 -v /mydata/mysql/data:/var/lib/mysql \
 -v /mydata/mysql/conf:/etc/mysql \
 -v /home/mysql/mysql-files:/var/lib/mysql-files/ \
 -e MYSQL_ROOT_PASSWORD=root \
 -d mysql

注:一定要进入linux手打一遍 -- 复制的符号可能不同

创建功能模块

模块以及要编写的功能

微服务对应

coupon

优惠券服务

member

会员服务

order

订单服务

product

商品服务

ware

仓储服务

数据库对应

gulimall_oms

订单系统(order)

gulimall_pms

商品系统(product)

gulimall_sms

营销系统(sell)

gulimall_ums

用户系统(user)

gulimall_wms

仓储系统(ware)

P14 下载项目出现问题 无效的目标发行版:17 ,配置完setting、project structure,Maven设置后出现问题 无法访问org.springframework.boot.SpringApplication

解决办法:SpringBoot 3.0 最低要求是 Java 17,所以需要使用 2.x 的版本。且在properties中指定jdk版本,若spring-boot-maven-plugin爆红还需指定其具体版本。

IDEA2021版本没有 version control,看不到local changes

取消勾选,点击Git即可。

P15 在关闭虚拟机后,上次已下载的mysql、redis未自动启动该如何设置?

sudo docker ps  #首先看看是否有运行中的软件(无)
sudo docker ps -a #查看所有容器(容器还在)

sudo docker update redis --restart=always
sudo docker update mysql --restart=always

P16 node.js版本配置不同,卸载重下?

使用nvm进行包管理

nvm ls               // 查看已安装node版本
nvm install vXX      // 安装对应vXX版本的node
nvm install v10.16.0 //v不能掉
nvm uninstall vXX    // 卸载对应vXX版本的node
nvm use xxx          // 选择使用XXX版本

P16 前台没有显示验证码?

检查RenrenApplication两个端口是否启动成功(端口8080与端口80)

P18 在测试mybatis-plus方法时出现java.lang.NoClassDefFoundError和java.lang.NoSuchMethodError

出现java.lang.IllegalStateException: Failed to load ApplicationContext Caused by: org.springframework.beans.factory.

实质上是注入资源依赖项失败,从指定的包名,文件路径,配置等挨个排查
1.检查gulimall-product下的application.yml文件路径配置是否正确(如com.mysql.cj...,url配置)
2.检查主类与测试类是否在同一目录下
3.检查主类上是否添加了包扫描 @MapperScan("com.atguigu.gulimall.product.dao")
4.测试类的@SpringBootTest默认找包位置错误,需指明位置。如改为:@SpringBootTest(classes = GulimallProductApplication.class)
其中GulimallProductApplication.class是主类,GulimallProductApplicationTests是测试类

出现ClassNotFoundException是 springboot与springcloud版本冲突问题。

这里使用springboot 2.1.8RELEASE 搭配 springcloud Greenwich.SR3
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/>
        <!-- lookup parent from repository -->
    </parent>

    <properties>
        <java.version>11</java.version>
        <spring-cloud.version>Greenwich.SR3</spring-cloud.version>
    </properties>

P21 配置nacos双击没反应?

两个解决方案:

前提是nacos保存的路径中部不包括中文

  1. 在startup.cmd文件中设置JAVA_HOME的值

2.在系统变量中配置JAVA_HOME的值

启动成功

方案二: cmd中cd到bin目录(我的在E盘) 输入 startup.cmd -m standalone

网关的代理转发

spring:
  cloud:
    gateway:
      routes:
        - id: test_route
          uri: https://www.baidu.com
          predicates:
            - Query=url,baidu

        - id: qq_route
          uri: https://www.qq.com
          predicates:
            - Query=url,qq
//意思是访问的url中是QQ或baidu的就做对应的跳转
//访问地址: localhost:88?url=baidu

var与let的区别

1、var声明往往越域,let声明有严格的作用域
2、var可以声明多次,let只能声明一次
3、var会变量提升,let不会变量提升
console.log(x); //undefined
var x = 10;
console.log(y);
let y = 20; //ReferenceError: y is not defined
4、let声明后不允许改变,且一旦声明必须初始化

箭头函数没有自己的this,会往外层找,应使用 对象.属性 调用

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值