gulimall基础篇回顾Day-07

前言

该篇文章主要记录谷粒商城项目中遇到的错误及解决方案。

一、错误记录与解决

1.1 renren-fast-vue 报错

以管理员的方式打开 VSCode 在终端执行 npm install 出现如下错误:
在这里插入图片描述
解决方案:
1.ctrl + 右击下载到本地
在这里插入图片描述
2.保存在C盘
在这里插入图片描述
3.VSCode 在终端执行如下命令

npm install chromedriver --chromedriver_filepath=你的下载路径\chromedriver_win32.zip

4.完美解决
在这里插入图片描述

1.2 npm run dev 报错

1.报错如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.总共有六处报错,解决方案如下

执行命令 npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/然后重新启动项目即可

在这里插入图片描述

1.3 端口被占用的问题

1.报错如下
在这里插入图片描述
2.解决方案

netstat -ano|findstr 被占用的端口号,查出占用进程
taskkill -f -pid 杀死占用该端口号对应的进程

在这里插入图片描述

1.4 无法登录问题

1.账号密码正确,却登录不进去
在这里插入图片描述
2.f12 打开开发者工具,控制台提示如下
在这里插入图片描述
3.跨域问题,打开后台 renren-fast 将该方法取消注释,重启项目
在这里插入图片描述
4.重新登录,登录成功!
在这里插入图片描述

1.5 数据库连接失败

1.错误如下

2022-04-06 08:39:33.067 ERROR 71092 --- [           main] com.alibaba.druid.pool.DruidDataSource   : init datasource error, url: jdbc:mysql://192.168.220.130:3306/gulimall_admin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

2.检查MySQL服务是否启动
在这里插入图片描述
3.检查MySQL连接地址为192.168.220.131
在这里插入图片描述
而配置文件链接地址为92.168.220.130,将130改为131重新启动服务
在这里插入图片描述
4.启动成功(若仍有错误在数据库连接url末尾加上&useSSL=false)

2022-04-06 09:22:35.428  INFO 38756 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService
2022-04-06 09:22:36.363  INFO 38756 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2022-04-06 09:22:36.378  INFO 38756 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2022-04-06 09:22:36.408  INFO 38756 --- [           main] s.d.s.w.s.ApiListingReferenceScanner     : Scanning for api listing references
2022-04-06 09:22:36.521  INFO 38756 --- [           main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: userInfoUsingGET_1
2022-04-06 09:22:36.529  INFO 38756 --- [           main] o.s.s.quartz.SchedulerFactoryBean        : Will start Quartz Scheduler [RenrenScheduler] in 30 seconds
2022-04-06 09:22:36.691  INFO 38756 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path '/renren-fast'
2022-04-06 09:22:36.826  INFO 38756 --- [           main] c.a.c.n.registry.NacosServiceRegistry    : nacos registry, renren-fast 10.200.1.44:8080 register finished
2022-04-06 09:22:36.828  INFO 38756 --- [           main] io.renren.RenrenApplication              : Started RenrenApplication in 8.572 seconds (JVM running for 9.585)
2022-04-06 09:23:00.928  INFO 38756 --- [nio-8080-exec-1] o.a.c.c.C.[.[localhost].[/renren-fast]   : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-06 09:23:00.928  INFO 38756 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2022-04-06 09:23:00.941  INFO 38756 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 13 ms

1.6 internal java compiler error

1.本人使用的是idea2021.1.3版本的,maven3.8.4启动项目经常报这个错。
在这里插入图片描述
2.File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler 设置成1.8即可
在这里插入图片描述

1.7 java: -source 1.5 中不支持 diamond 运算符

1.启动时,报如下错误
在这里插入图片描述
2.打开Project Structure的Module
在这里插入图片描述
3.将Language level改成8即可(各个模块都改成8)

1.8 项目启动报nacos错误

1.错误信息

2022-04-06 09:59:06.223 ERROR 46996 --- [           main] c.a.cloud.nacos.NacosConfigProperties    : create config service error!properties=NacosConfigProperties{serverAddr='null', encode='null', group='DEFAULT_GROUP', prefix='null', fileExtension='properties', timeout=3000, endpoint='null', namespace='null', accessKey='null', secretKey='null', contextPath='null', clusterName='null', name='null', sharedDataids='null', refreshableDataids='null', extConfig=null},e=,

com.alibaba.nacos.api.exception.NacosException: java.lang.reflect.InvocationTargetException
	at com.alibaba.nacos.api.config.ConfigFactory.createConfigService(ConfigFactory.java:45) ~[nacos-api-1.1.1.jar:na]
	at com.alibaba.nacos.api.NacosFactory.createConfigService(NacosFactory.java:43) ~[nacos-api-1.1.1.jar:na]
	at com.alibaba.cloud.nacos.NacosConfigProperties.configServiceInstance(NacosConfigProperties.java:346) ~[spring-cloud-alibaba-nacos-config-2.1.0.RELEASE.jar:2.1.0.RELEASE]
	at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.locate(NacosPropertySourceLocator.java:63) [spring-cloud-alibaba-nacos-config-2.1.0.RELEASE.jar:2.1.0.RELEASE]
	at org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration.initialize(PropertySourceBootstrapConfiguration.java:97) [spring-cloud-context-2.1.2.RELEASE.jar:2.1.2.RELEASE]
	at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:623) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
	at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:367) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1204) [spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
	at io.renren.RenrenApplication.main(RenrenApplication.java:21) [classes/:na]
Caused by: java.lang.reflect.InvocationTargetException: null
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_321]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_321]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_321]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_321]
	at com.alibaba.nacos.api.config.ConfigFactory.createConfigService(ConfigFactory.java:42) ~[nacos-api-1.1.1.jar:na]
	... 10 common frames omitted

2.由于配置springboot配置文件中,没有配置nacos配置中心地址、端口导致的。新建一个配置文件bootstrap.properties,输入如下内容, 问题解决

spring.application.name=gulimall-product
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

1.9 会员服务OpenFeign启动失败

1.报错信息如下

No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-netflix-ribbon?

2.由于SpringCloud Feign在Hoxton.M2 RELEASED版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错。

3.解决方法:除去ribbon依赖,加入spring-cloud-loadbalancer依赖

<dependency>
    <groupId>com.oyz.gulimall</groupId>
    <artifactId>gulimall-common</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>

2.0 P76所属分组无数据

1.76集规格参数新增功能中,如下所属分组显示无数据
在这里插入图片描述
2.点击确定保存后,F12打开开发者工具发现attrGroupId为null
在这里插入图片描述
3.打开后开gulimall-product服务控制台,报出如下信息
在这里插入图片描述
4.发现错误
在这里插入图片描述
在这里插入图片描述

5.重新启动gulimall-product服务,所属分组数据出现了
在这里插入图片描述

2.1 pms_attr表缺少value_type字段

1.数据库的 pms_attr 表加上value_type字段,类型为tinyint
在这里插入图片描述
2.AttyEntity.java、AttrVo.java中各添加private Integer valueType;

3.AttrDao.xml中添加如下标签

<result property="valueType" column="value_type"/>

4.以上添加代码最好和数据库字段顺序一直

2.2 引入阿里云oss对象存储后renrenfast项目报错

1.报错信息

Error creating bean with name 'ossClient' defined in class path resource [com/alibaba/alicloud/context/oss/OssContextAutoConfiguration.class]: Unsatisfied dependency expressed through method 'ossClient' parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.alicloud.oss-com.alibaba.alicloud.context.oss.OssProperties': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.alibaba.alicloud.context.oss.OssProperties] from ClassLoader [sun.misc.Launcher$AppClassLoader@14dad5dc]
......
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.alicloud.oss-com.alibaba.alicloud.context.oss.OssProperties': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.alibaba.alicloud.context.oss.OssProperties] from ClassLoader [sun.misc.Launcher$AppClassLoader@14dad5dc]
......
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.alibaba.alicloud.context.oss.OssProperties] from ClassLoader [sun.misc.Launcher$AppClassLoader@14dad5dc]

2.报错分析
原因出现在:我们在common模块中引入了oss的依赖,但是renren-fast模块本身就有oss的依赖且renren-fast引入了common,大概率是两者的冲突。

3.解决办法
在renren-fast的pom.xml中找到gulimall-common依赖,排除oss依赖。

<dependency>
	<groupId>com.huang.bx</groupId>
	<artifactId>gulimall-common</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<exclusions>
		<exclusion>
			<groupId>com.alibaba.cloud</groupId>
			<artifactId>spring-cloud-starter-alicloud-oss</artifactId>
		</exclusion>
	</exclusions>
</dependency>

2.3 quarzt启动 Unable to store Job : ‘DEFAULT.TASK_1‘, because one already exists with this identification

1.Springboot 项目集成了 quarzt 之前本地测试没问题,突然昨天Springboot 项目启动报错,一直启动不起来报错如下

2022-10-23 21:52:51 [main] ERROR o.s.b.SpringApplication:826 Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'scheduleJobController': Unsatisfied dependency expressed through field 'scheduleJobService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scheduleJobService': Invocation of init method failed; nested exception is java.lang.RuntimeException: 创建定时任务失败

Caused by: java.lang.RuntimeException: 创建定时任务失败
	at com.mtons.liflag.web.job.utils.ScheduleUtils.createScheduleJob(ScheduleUtils.java:66)
	at com.mtons.liflag.web.job.service.impl.ScheduleJobServiceImpl.init(ScheduleJobServiceImpl.java:43)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
	... 61 common frames omitted
Caused by: org.quartz.ObjectAlreadyExistsException: Unable to store Job : 'DEFAULT.TASK_1', because one already exists with this identification.
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1113)
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$2.executeVoid(JobStoreSupport.java:1067)
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3780)
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3778)
	at org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:245)
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1063)
	at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:855)
	at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:249)
	at com.mtons.liflag.web.job.utils.ScheduleUtils.createScheduleJob(ScheduleUtils.java:59)
	... 69 common frames omitted

2.解决方案
删除数据 qrtz_job_details 中的数据正常而言,qrtz_triggers表中对qrtz_job_details有外键引用,所以直接是删除不掉的,而qrtz_cron_triggers表中又有对qrtz_triggers的外键引用.所以,要按照:以下顺序删除数据 qrtz_cron_triggers> qrtz_triggers> qrtz_job_details。
3.执行三条sql后,项目正常启动

DELETE from qrtz_cron_triggers;
DELETE from qrtz_triggers;
DELETE from qrtz_job_details;
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值