初学RuoYi-Vue-master后,重新下载RuoYi-Vue-master,整理所学,并记录。
本文共记录5个问题,第5个问题解决了以往学习中遇到的一个重要问题,希望可以帮到存在相似问题的同学。
文章目录
- 问题1:IDEA错误提示 warning: Options -Xverify:none and -noverify
- 原因分析:
- 解决方案:
- 问题2:若依启动,IDEA提示nested exception is java.sql.SQLSyntaxErrorException: Table 'ry-vue.sys_config' doesn't exist
- 原因分析:
- 解决方案:
- 问题3:若依启动,vscode提示'vue-cli-service' 不是内部或外部命令,也不是可运行的程序
- 原因分析:
- 解决方案:
- 问题4:若依代码生成错误:Unknown column 'tpl_web_type' in 'field list'
- 原因分析:
- 解决方案:
- 问题5:若依(ruoyi),当数据库表格设计存在缺陷,需要改动数据表。
- 解决方案:
问题1:IDEA错误提示 warning: Options -Xverify:none and -noverify
were deprecated in JDK 13 and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify
were deprecated in JDK 13 and will likely be removed in a future release.
Application Version: 3.8.7
Spring Boot Version: 2.5.15
原因分析:
提示:版本不配套:
JDK版本与IDEA不兼容。我机子里面安装了2个版本JDK,只有一个JDK版本是与IDEA版本相适用的。
解决方案:
提示:修改Peoject Structure :
File - Peoject Structure – Project:
File-Peoject Structure – Modules:
各个文件夹包含的Sources内,Language level,修改为配套版本
问题2:若依启动,IDEA提示nested exception is java.sql.SQLSyntaxErrorException: Table ‘ry-vue.sys_config’ doesn’t exist
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'ry-vue.sys_config' doesn't exist
### The error may exist in file [E:\Code\Java\RuoYi-Vue-master\RuoYi-Vue-master\ruoyi-
system\target\classes\mapper\system\SysConfigMapper.xml]
### The error may involve com.ruoyi.system.mapper.SysConfigMapper.selectConfigList-Inline
### The error occurred while setting parameters
### SQL: select config_id, config_name, config_key, config_value, config_type, create_by, create_time,
update_by, update_time, remark from sys_config
### Cause: java.sql.SQLSyntaxErrorException: Table 'ry-vue.sys_config' doesn't exist
; bad SQL grammar [];
nested exception is java.sql.SQLSyntaxErrorException: Table 'ry-vue.sys_config' doesn't exist
原因分析:
提示:没有运行安装目录( **\RuoYi-Vue-master\RuoYi-Vue-master\sql )内sql文件( quartz.sql 和 ry_20231130.sql )
解决方案:
提示:加载sql文件(quartz.sql 和 ry_20231130.sql,没有先后顺序)
开始 -> 关闭。
加载之后Navicat数据库中出现以下表格:
问题3:若依启动,vscode提示’vue-cli-service’ 不是内部或外部命令,也不是可运行的程序
vscode打开ruoyi-ui,运行:npm run dev 失败!错误提示如下:
PS E:\Code\Java\RuoYi-Vue-master\RuoYi-Vue-master\ruoyi-ui> npm run dev
> ruoyi@3.8.7 dev
> vue-cli-service serve
'vue-cli-service' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
原因分析:
遇到 ‘vue-cli-service’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 的错误时,通常意味着Vue CLI没有被正确安装或配置在项目中。这可能是因为node_modules目录缺失了必要的包,或者局部安装的Vue CLI没有被正确设置到系统的PATH环境变量中。
原文链接:https://blog.csdn.net/weixin_50503886/article/details/136104052
解决方案:
原文链接:https://blog.csdn.net/weixin_50503886/article/details/136104052
- 安装Vue CLI
npm install -g @vue/cli
- 安装@vue/cli-service依赖:
npm install @vue/cli-service --save-dev
- 在项目目录中运行以下命令来安装所有依赖项
npm install
此时,再次运行启动服务,成功。
npm run dev // 启动服务
问题4:若依代码生成错误:Unknown column ‘tpl_web_type’ in ‘field list’
Redis启动成功
IDEA启动成功
vscode启动成功
若依管理系统(网页)打开成功
系统工具 -> 代码生成 -> 导入 -> 勾选表格 -> 确定
此时网页提示如下错误:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'tpl_web_type' in 'field list'
### The error may exist in file [E:\Code\Java\RuoYi-Vue-master\RuoYi-Vue-master\ruoyi-generator\
target\classes\mapper\generator\GenTableMapper.xml]
### The error may involve com.ruoyi.generator.mapper.GenTableMapper.selectGenTableList-Inline
### The error occurred while setting parameters
### SQL: select table_id, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category,
tpl_web_type, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path,
options, create_by, create_time, update_by, update_time, remark from gen_table LIMIT ?
### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'tpl_web_type' in 'field list' ; bad SQL grammar [];
nested exception is java.sql.SQLSyntaxErrorException: Unknown column 'tpl_web_type' in 'field list'
IDEA同时提示错误:
WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - [logException,208] - Resolved
[org.springframework.jdbc.BadSqlGrammarException: <EOL><EOL>### Error querying database.
Cause: java.sql.SQLSyntaxErrorException: Unknown column 'tpl_web_type' in 'field list'<EOL><EOL>
### The error may exist in file [E:\Code\Java\RuoYi-Vue-master\RuoYi-Vue-master\ruoyi-generator\target\
classes\mapper\generator\GenTableMapper.xml]<EOL><EOL>
### The error may involve com.ruoyi.generator.mapper.GenTableMapper.selectGenTableList-Inline<EOL><EOL>
### The error occurred while setting parameters<EOL><EOL>### SQL: select table_id, table_name,
table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, tpl_web_type, package_name, module_name,
business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by,
update_time, remark from gen_table LIMIT ?<EOL><EOL>### Cause: java.sql.SQLSyntaxErrorException: Unknown column
'tpl_web_type' in 'field list'<EOL>; bad SQL grammar [];
nested exception is java.sql.SQLSyntaxErrorException: Unknown
column 'tpl_web_type' in 'field list']
原因分析:
根据提示:Unknown column ‘tpl_web_type’ in ‘field list’],通过IDEA搜索关键字”tpl_web_type“。
双击打开搜索出的文件。发现关键字”tpl_web_type“来自于表格(gen_table)
-- 18、代码生成业务表
-- ----------------------------
drop table if exists gen_table;
create table gen_table (
table_id bigint(20) not null auto_increment comment '编号',
table_name varchar(200) default '' comment '表名称',
table_comment varchar(500) default '' comment '表描述',
sub_table_name varchar(64) default null comment '关联子表的表名',
sub_table_fk_name varchar(64) default null comment '子表关联的外键名',
class_name varchar(100) default '' comment '实体类名称',
tpl_category varchar(200) default 'crud' comment '使用的模板(crud单表操作 tree树表操作)',
tpl_web_type varchar(30) default '' comment '前端模板类型(element-ui模版 element-plus模版)',
package_name varchar(100) comment '生成包路径',
module_name varchar(30) comment '生成模块名',
business_name varchar(30) comment '生成业务名',
function_name varchar(50) comment '生成功能名',
function_author varchar(50) comment '生成功能作者',
gen_type char(1) default '0' comment '生成代码方式(0zip压缩包 1自定义路径)',
gen_path varchar(200) default '/' comment '生成路径(不填默认项目路径)',
options varchar(1000) comment '其它生成选项',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (table_id)
) engine=innodb auto_increment=1 comment = '代码生成业务表';
打开Navicat,找到表格(gen_table),发现表格内没有字段”tpl_web_type“,且表格(gen_table)内数据为”代码生成“时设置的相关参数。于是尝试重新建立表格(gen_table)。
备注:每个人问题会有差异,建议重建表格(gen_table)前,做好表格(gen_table)的备份。
解决方案:
- 做好表格(gen_table)备份
- 利用上述 mysql创建语句 create table gen_table (),在Navicat新建查询,在查询内运行 create table gen_table ()
drop table if exists gen_table
> OK
> 时间: 0.001s
create table gen_table (
table_id bigint(20) not null auto_increment comment '编号',
table_name varchar(200) default '' comment '表名称',
table_comment varchar(500) default '' comment '表描述',
sub_table_name varchar(64) default null comment '关联子表的表名',
sub_table_fk_name varchar(64) default null comment '子表关联的外键名',
class_name varchar(100) default '' comment '实体类名称',
tpl_category varchar(200) default 'crud' comment '使用的模板(crud单表操作 tree树表操作)',
tpl_web_type varchar(30) default '' comment '前端模板类型(element-ui模版 element-plus模版)',
package_name varchar(100) comment '生成包路径',
module_name varchar(30) comment '生成模块名',
business_name varchar(30) comment '生成业务名',
function_name varchar(50) comment '生成功能名',
function_author varchar(50) comment '生成功能作者',
gen_type char(1) default '0' comment '生成代码方式(0zip压缩包 1自定义路径)',
gen_path varchar(200) default '/' comment '生成路径(不填默认项目路径)',
options varchar(1000) comment '其它生成选项',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (table_id)
) engine=innodb auto_increment=1 comment = '代码生成业务表'
> OK
> 时间: 0.05s
运行结果表明,数据库表格(gen_table)创建成功,打开后字段”tpl_web_type“已添加至表格。
- 重新运行IDEA,VSCODE,刷新网页,”代码生成“.
成功。
刷新表格(gen_table),表格(gen_table)内数据正是“代码生成” -> ”编辑“内基本信息和生成信息一致。
问题5:若依(ruoyi),当数据库表格设计存在缺陷,需要改动数据表。
`提示:由上个问题,发现了一个以往学习中一直苦寻不得的问题解决方法。
之前学习时,需要先设计数据表,通过代码生成得到前后端相关文件,并覆盖。但是每当发现数据表缺陷,需要修改时,却只能推倒重来(在修改数据表之后重新生成代码覆盖前后端文件)。反反复复,只让人觉得自己很蠢。
解决方案:
由问题4可知:
表格(gen_table)内数据包含的正是“代码生成”的基本信息和生成信息。
表格(gen_table_column)内包含的是“代码生成”时“导入”的数据表信息。
直接在这两个数据表内,进行相应修改,之前让我痛不欲生的问题就可简单解决。