当前位置: 首页 > news >正文

开源API网关-ApacheShenYu首次按照启动遇到的问题

一.背景

      公司有API网关产品需求,希望有图形化的后台管理功能。看到了ApacheShenYu,作为Apache的顶级项目,直接认可了。首先,感谢各位大神的付出,初步看这个项目是国内大厂中的大神创立的,在此表示膜拜!

二.下载及参考文档

版本选择:建议2.6.x

数据库选择:MySQL

部署方式:我选择的是二进制包部署。二进制包部署 | Apache ShenYu,右上角可以切换中英文哈。

下载内容:

1.Apache ShenYu Admin

https://archive.apache.org/dist/shenyu/2.6.0/apache-shenyu-2.6.0-admin-bin.tar.gz

2.MySQL驱动

https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar

3.Apache ShenYu Bootstrap

https://archive.apache.org/dist/shenyu/2.6.0/apache-shenyu-2.6.0-bootstrap-bin.tar.gz

按照文档步骤操作,应该没有问题。*注意*,先操作文档左侧中的“部署先决条件”,主要就是数据库初始化。

三.老版本2.4.1文档部署遇到的问题

        在这里不是为了找茬,就是记录根据文档快速上手遇到的问题。新版本2.6.x的文档好多了。对于初学者的友好度还需提升。大神们不要喷我。

1.莫名打开了2.4.1的文档,开启了上手的路

2.下载后启动莫名结束

D:\zsp\works\study\ApacheShenYu\apache-shenyu-2.6.1-admin-bin\bin>start.bat
Starting the ShenYu-Admin ...
08:43:39,856 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
08:43:39,856 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/conf/logback.xml]
08:43:39,944 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
08:43:39,945 |-INFO in ch.qos.logback.core.joran.action.ShutdownHookAction - About to instantiate shutdown hook of type [ch.qos.logback.core.hook.DelayingShutdownHook]
08:43:39,947 |-INFO in ch.qos.logback.core.joran.action.StatusListenerAction - Added status listener of type [ch.qos.logback.core.status.OnConsoleStatusListener]
08:43:39,967 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:43:39,969 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
08:43:39,978 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1182461167 - setting totalSizeCap to 10 GB
08:43:39,980 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1182461167 - Archive files will be limited to [100 MB] each.
08:43:39,986 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1182461167 - Will use zip compression
08:43:39,987 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1182461167 - Will use the pattern D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/bin//../logs/shenyu-admin.%d{yyyy-MM-dd}.%i.log for the active file
08:43:39,989 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@612679d6 - The date pattern is 'yyyy-MM-dd' from file name pattern 'D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/bin//../logs/shenyu-admin.%d{yyyy-MM-dd}.%i.log.zip'.
08:43:39,989 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@612679d6 - Roll-over at midnight.
08:43:39,991 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@612679d6 - Setting initial period to Tue Jun 25 08:40:32 CST 2024
08:43:39,993 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:43:40,002 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: D:\zsp\works\study\ApacheShenYu\apache-shenyu-2.6.1-admin-bin\bin\/../logs/shenyu-admin.log
08:43:40,002 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [D:\zsp\works\study\ApacheShenYu\apache-shenyu-2.6.1-admin-bin\bin\/../logs/shenyu-admin.log]
08:43:40,006 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
08:43:40,008 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_FILE]
08:43:40,008 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_FILE]
08:43:40,008 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Attaching appender named [FILE] to AsyncAppender.
08:43:40,009 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Setting discardingThreshold to 0
08:43:40,009 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:43:40,009 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ERROR_FILE]
08:43:40,010 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1832580921 - setting totalSizeCap to 10 GB
08:43:40,011 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1832580921 - Archive files will be limited to [100 MB] each.
08:43:40,011 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1832580921 - Will use zip compression
08:43:40,011 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1832580921 - Will use the pattern D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/bin//../logs/shenyu-admin.%d{yyyy-MM-dd}-error.%i.log for the active file
08:43:40,012 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@1da51a35 - The date pattern is 'yyyy-MM-dd' from file name pattern 'D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/bin//../logs/shenyu-admin.%d{yyyy-MM-dd}-error.%i.log.zip'.
08:43:40,012 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@1da51a35 - Roll-over at midnight.
08:43:40,012 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@1da51a35 - Setting initial period to Tue Jun 25 08:40:32 CST 2024
08:43:40,013 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:43:40,013 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - Active log file name: D:\zsp\works\study\ApacheShenYu\apache-shenyu-2.6.1-admin-bin\bin\/../logs/shenyu-admin-error.log
08:43:40,013 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - File property is set to [D:\zsp\works\study\ApacheShenYu\apache-shenyu-2.6.1-admin-bin\bin\/../logs/shenyu-admin-error.log]
08:43:40,014 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
08:43:40,014 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_ERROR_FILE]
08:43:40,014 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ERROR_FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE]
08:43:40,014 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Attaching appender named [ERROR_FILE] to AsyncAppender.
08:43:40,014 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Setting discardingThreshold to 0
08:43:40,015 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
08:43:40,017 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_FILE] to Logger[ROOT]
08:43:40,017 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_ERROR_FILE] to Logger[ROOT]
08:43:40,017 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
08:43:40,017 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@44a3ec6b - Registering current configuration as safe fallback point
08:43:40,419 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Worker thread will flush remaining events before exiting.
08:43:40,420 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Queue flush finished successfully within timeout.
08:43:40,421 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Worker thread will flush remaining events before exiting.
08:43:40,421 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Queue flush finished successfully within timeout.
08:43:40,432 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
08:43:40,432 |-INFO in ch.qos.logback.core.joran.action.ShutdownHookAction - About to instantiate shutdown hook of type [ch.qos.logback.core.hook.DelayingShutdownHook]
08:43:40,432 |-INFO in ch.qos.logback.core.joran.action.StatusListenerAction - Added status listener of type [ch.qos.logback.core.status.OnConsoleStatusListener]
08:43:40,433 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:43:40,433 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
08:43:40,434 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@322561962 - setting totalSizeCap to 10 GB
08:43:40,434 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@322561962 - Archive files will be limited to [100 MB] each.
08:43:40,434 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@322561962 - Will use zip compression
08:43:40,435 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@322561962 - Will use the pattern D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/bin//../logs/shenyu-admin.%d{yyyy-MM-dd}.%i.log for the active file
08:43:40,435 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@1fb669c3 - The date pattern is 'yyyy-MM-dd' from file name pattern 'D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/bin//../logs/shenyu-admin.%d{yyyy-MM-dd}.%i.log.zip'.
08:43:40,435 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@1fb669c3 - Roll-over at midnight.
08:43:40,436 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@1fb669c3 - Setting initial period to Tue Jun 25 08:40:32 CST 2024
08:43:40,437 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:43:40,438 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: D:\zsp\works\study\ApacheShenYu\apache-shenyu-2.6.1-admin-bin\bin\/../logs/shenyu-admin.log
08:43:40,438 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [D:\zsp\works\study\ApacheShenYu\apache-shenyu-2.6.1-admin-bin\bin\/../logs/shenyu-admin.log]
08:43:40,439 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
08:43:40,439 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_FILE]
08:43:40,439 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_FILE]
08:43:40,439 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Attaching appender named [FILE] to AsyncAppender.
08:43:40,439 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Setting discardingThreshold to 0
08:43:40,440 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:43:40,440 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ERROR_FILE]
08:43:40,440 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1237740254 - setting totalSizeCap to 10 GB
08:43:40,441 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1237740254 - Archive files will be limited to [100 MB] each.
08:43:40,441 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1237740254 - Will use zip compression
08:43:40,441 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1237740254 - Will use the pattern D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/bin//../logs/shenyu-admin.%d{yyyy-MM-dd}-error.%i.log for the active file
08:43:40,441 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6239aba6 - The date pattern is 'yyyy-MM-dd' from file name pattern 'D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/bin//../logs/shenyu-admin.%d{yyyy-MM-dd}-error.%i.log.zip'.
08:43:40,441 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6239aba6 - Roll-over at midnight.
08:43:40,442 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6239aba6 - Setting initial period to Tue Jun 25 08:40:32 CST 2024
08:43:40,442 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:43:40,443 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - Active log file name: D:\zsp\works\study\ApacheShenYu\apache-shenyu-2.6.1-admin-bin\bin\/../logs/shenyu-admin-error.log
08:43:40,443 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - File property is set to [D:\zsp\works\study\ApacheShenYu\apache-shenyu-2.6.1-admin-bin\bin\/../logs/shenyu-admin-error.log]
08:43:40,443 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
08:43:40,443 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [ASYNC_ERROR_FILE]
08:43:40,443 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ERROR_FILE] to ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE]
08:43:40,443 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Attaching appender named [ERROR_FILE] to AsyncAppender.
08:43:40,444 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Setting discardingThreshold to 0
08:43:40,444 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
08:43:40,444 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@3e6104fc - Propagating INFO level on Logger[ROOT] onto the JUL framework
08:43:40,445 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_FILE] to Logger[ROOT]
08:43:40,445 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [ASYNC_ERROR_FILE] to Logger[ROOT]
08:43:40,445 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
08:43:40,445 |-INFO in org.springframework.boot.logging.logback.SpringBootJoranConfigurator@7164ca4c - Registering current configuration as safe fallback point
08:43:40,450 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@3e6104fc - Propagating INFO level on Logger[org.springframework.boot] onto the JUL framework
08:43:40,450 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@3e6104fc - Propagating INFO level on Logger[org.apache.ibatis] onto the JUL framework
08:43:40,450 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@3e6104fc - Propagating INFO level on Logger[org.apache.shenyu.bonuspoint] onto the JUL framework
08:43:40,450 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@3e6104fc - Propagating INFO level on Logger[org.apache.shenyu.lottery] onto the JUL framework
08:43:40,451 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@3e6104fc - Propagating INFO level on Logger[org.apache.shenyu] onto the JUL framework______   __                    ____  ____                 Profile: mysql
.' ____ \  | |                  |_  _||_  _|                Name: ShenYu Admin
| (___ \_| | |--.  .---.  _ .--.  \ \  [ ] _   _            Port: 9095_.____`.  | .-. |/ /__\\[ `.-. |  \ \/ / [ | | |           Pid: 21224
| \____) | | | | || \__., | | | |  _|  |_ | \_/ |,          SpringBoot Version: 2.7.17\______.'[___]|__]'.__.'[___||__]|______|'.__.'_/          ShenYu Version: 2.6.108:43:44,845 |-INFO in ch.qos.logback.core.hook.DelayingShutdownHook@3b361fc7 - Sleeping for 0 milliseconds
08:43:44,845 |-INFO in ch.qos.logback.core.hook.DelayingShutdownHook@3b361fc7 - Logback context being closed via shutdown hook
08:43:44,846 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Worker thread will flush remaining events before exiting.
08:43:44,846 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_ERROR_FILE] - Worker thread will flush remaining events before exiting.
08:43:44,847 |-INFO in ch.qos.logback.classic.AsyncAppender[ASYNC_FILE] - Queue flush finished successfully within timeout.
请按任意键继续. . .

3.查看日志文件是没有数据库表

2024-06-25 08:40:32 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'upstreamCheckService' defined in URL [jar:file:/D:/zsp/works/study/ApacheShenYu/apache-shenyu-2.6.1-admin-bin/lib/shenyu-admin-2.6.1.jar!/org/apache/shenyu/admin/service/impl/UpstreamCheckService.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.shenyu.admin.service.impl.UpstreamCheckService]: Constructor threw exception; nested exception is org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: Table 'shenyu.plugin' doesn't exist
### The error may exist in class path resource [mappers/plugin-sqlmap.xml]
### The error may involve org.apache.shenyu.admin.mapper.PluginMapper.selectByNames-Inline
### The error occurred while setting parameters
### SQL: SELECT                          id,         date_created,         date_updated,         name,         config,         role,         sort,         plugin_jar,         enabled                 FROM plugin          WHERE name IN          (               ?          ,              ?          ,              ?          ,              ?          ,              ?          )
### Cause: java.sql.SQLSyntaxErrorException: Table 'shenyu.plugin' doesn't exist
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table 'shenyu.plugin' doesn't existat org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:310)at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:291)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:921)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409)at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1289)at org.apache.shenyu.admin.ShenyuAdminBootstrap.main(ShenyuAdminBootstrap.java:36)

4.文档没有写,自己反编译找到了初始化sql

5.发现sql文件中的2个错误

-- ----------------------------
-- Table structure for operation_record_log
-- ----------------------------
CREATE TABLE IF NOT EXISTS `operation_record_log`
(`id`             bigint       NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'id',`color`          varchar(20)  NOT NULL COMMENT 'log color',`context`        text         NOT NULL COMMENT 'log context',`operator`       varchar(200) NOT NULL COMMENT 'operator [user or app]]',`operation_time` datetime     NOT NULL DEFAULT now() COMMENT 'operation time',`operation_type` varchar(60)  NOT NULL DEFAULT 'update' COMMENT 'operation type
);

operation_type字段最后少了个单引号。

-- ----------------------------
-- Table structure for alert_template
-- ----------------------------
CREATE TABLE IF NOT EXISTS `alert_template`
(`id`            bigint          NOT NULL AUTO_INCREMENT COMMENT 'primary key id',`name`          varchar(255)    NOT NULL COMMENT 'alert template name',`strategy_name` varchar(255)    NOT NULL COMMENT 'alert template strategy name',`content`       varchar(1000)   NOT NULL COMMENT 'alert template content',`date_created`  timestamp       NOT NULL DEFAULT now() COMMENT 'create time',`date_updated`  timestamp       NOT NULL DEFAULT now() COMMENT 'update time'
);

id描述缺失报错,应该修改为

 `id`            bigint          NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'primary key id',

6.启动成功了不知道帐号密码

启动后,打开http://localhost:9095,帐号密码是 admin和123456

这些信息。文档中也不算友好,对于初学者,不好找。

首页登录后,要求修改初始密码。

相关文章:

开源API网关-ApacheShenYu首次按照启动遇到的问题

一.背景 公司有API网关产品需求,希望有图形化的后台管理功能。看到了ApacheShenYu,作为Apache的顶级项目,直接认可了。首先,感谢各位大神的付出,初步看这个项目是国内大厂中的大神创立的,在此表示膜拜&…...

uniapp获取证书秘钥、Android App备案获取公钥、签名MD5值

一、 uniapp获取证书秘钥 打开uniapp开发者中心下载证书打开cmd输入以下这段代码,下载提供查看到的密钥证书密码就可以了!下载证书在 java 环境下运行才可以 // your_alias 换成 证书详情中的别名,your_keystore.keystore 改成自己的证书文件…...

QT 如何储存多种数据类型(QVariant )

QVariant 是 Qt 框架中用于存储各种数据类型的类。它提供了一个强大的类型系统,允许你在运行时存储和检索多种类型的数据,而不需要在编译时确定类型。QVariant 的主要优点在于它的灵活性和通用性,这使得它在 Qt 的很多组件和机制中都被广泛使…...

持续总结中!2024年面试必问的操作系统面试题(九)

上一篇地址:持续总结中!2024年面试必问的操作系统面试题(八)-CSDN博客 十七、解释什么是操作系统的安全性和它的重要性。 操作系统的安全性(Operating System Security)是指操作系统采取的一系列措施来保…...

操作系统入门 -- 文件管理

操作系统入门 – 文件管理 1.文件管理概述 1.1 文件系统基本功能 目前,计算机内存的容量依然有限,并且其特性决定了数据无法长时间保存,因此把执行的数据以文件形式保存在外存中,等到需要使用时再调入内存。所以,操…...

由浅入深,走进深度学习(2)

今天分享的学习内容主要就是神经网络里面的知识啦,用到的框架就是torch 在这里我也是对自己做一个学习记录,如果不符合大家的口味,大家划走就可以啦 可能没有什么文字或者原理上的讲解,基本上都是代码,但是我还是想说…...

【Python Tips】创建自己的函数包并安装进Anaconda,像引入标准包一样直接import导入

目录 一、引言 二、方法步骤 步骤一:创建包目录结构 步骤二:配置__init__.py文件 步骤三:文件夹外配置setup.py文件 步骤四:终端Pip安装 三、结尾 一、引言 在编写项目代码的时候,有些自定义功能的函数是可以复用的。…...

【Python机器学习实战】 | 基于支持向量机(Support Vector Machine, SVM)进行分类和回归任务分析

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…...

备份和还原

stai和dnta snat:源地址转换 内网---外网 内网ip转换成可以访问外网的ip 内网的多个主机可以使用一个有效的公网ip地址访问外部网络 DNAT:目的地址转发 外部用户,可以通过一个公网地址访问服务内部的私网服务。 私网的ip和公网ip做一个…...

Java数组的初始化方法

Java数组的初始化方法 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在Java编程中,数组是一种非常基础也非常重要的数据结构,它能够存储…...

通过分离有色和无色pdf页面减少打印费

前言 该工具是我认识的一位中科大的大佬在本科毕业的时候做的一个小工具,去打印店打印全彩的毕业论文的话会比较贵,他想到有没有一种方案可以实现有彩色页面的pdf和没有彩色页面的pdf分开打印,前者打印彩色,后者打印黑白&#xf…...

c语言--指针

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理c语言中指针的相关知识点。 指针概念 指针存储的就是数据的地址。 直观理解: 李华家是北洋路130号1单元101 用变量处理数据: 我们去李华家拿数据。 用指针处理数据: 我们去北洋路130号1单元101拿数据…...

python-九九乘法表(对齐式1)

[题目描述] 输出九九乘法表,输出格式见样例。输入格式: 无输出格式: 输出乘法表,对齐方式见样例输出。样例输入 无样例输出 来源/分类(难度系数:一星) 完整代码展示: #对齐式1 a[] …...

thinkphp单独为某个接口设置缓存

参考 官方文档 $this->request->cache(__URL__,600);只需要在接口方法的开头添加这个代码即可...

OpenCV视觉--视频人脸微笑检测(超详细,附带检测资源)

目录 概述 具体实现 1.加载分类器 2.打开摄像头并识别人脸 3.处理人脸并检测是否微笑 效果 总结 概述 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,广泛应用于图像处理和视频分析等领…...

docker 搭建 AI大数据模型 --- 使用GPU

docker 搭建 AI大数据模型 — 使用GPU方式 搭建本地大模型,最简单的方法!效果直逼GPT 服务器GPU系统HP580 G8P40Rocky9.2 安装程序AnythingLLM前端界面Open WebUIChatOllamaollama 一、AnythingLLM 介绍 AnythingLLM 是 Mintplex Labs Inc. 开发的一…...

面向对象, 常用类, 集合, 异常, JDBC, mysql数据库 复习

1.面向对象 (1)面向过程和面向对象 ● 面向过程的程序设计思想 (procedure -Oriented Programming),简称POP ● 关注的焦点是过程:过程就是操作数据的步骤。如果某个过程的实现代码重复出 现,那么就可…...

js取数组最大值之Math.max、Math.max.apply

js取数组最大值之Math.max、Math.max.apply Math.maxMath.max.applyapply()第一个参数为什么可以是null 最小值同理 Math.max Math.max(n1,n2,n3,…,nX) 支持传递多个参数,带有较大的值的那个数 Math.max(2,5,3,6,2,4,2,15,9,6,0,1)Math.max.apply apply() 语法&a…...

各种中间件的安装

文章目录 20232306mysql的wondows安装 2023 2306 mysql的wondows安装 常用mysql教程 springboot整合druid连接池SpringBoot配置Druid连接池 mysql的wondows安装 MySQL学习笔记 01、MySQL安装 这个是安装的具体思路 win10 安装 mysql 5.7 msi版的教程图文详解 这个是安装的…...

【Mysql】多表查询、隐式内链接、显式内连接、左外连接、右外连接

多表查询 什么是多表查询 •DQL: 查询多张表,获取到需要的数据 •比如 我们要查询家电分类下 都有哪些商品,那么我们就需要查询分类与商品这两张表 数据准备 创建db3_2 数据库 -- 创建 db3_2 数据库,指定编码 CREATE DATABASE db3_2 CHARACTER SET utf8;创建分类表与商品表 …...

Linux驱动开发(三)--新字符设备驱动开发 LED驱动开发升级

1、新字符设备驱动原理 使用 register_chrdev 函数注册字符设备的时候只需要给定一个主设备号即可,但是这样会 带来两个问题 需要我们事先确定好哪些主设备号没有使用 会将一个主设备号下的所有次设备号都使用掉,比如现在设置 LED 这个主设备号为200&…...

MCU的最佳存储方案CS创世 SD NAND

大家都知道MCU是一种"麻雀"虽小,却"五脏俱全"的主控。它的应用领域非常广泛,小到手机手表,大到航空航天的设备上都会用到MCU.市面上目前几个主流厂商有意法半导体(其中最经典的一款就是STM32系列)…...

40岁学习java是否需要报班学习?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」, 点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!!应该不需要。各种公开免费的…...

Vitis Accelerated Libraries 学习笔记--OpenCV 运行测试

目录 1. 简介 2. 实例测试 2.1 实例介绍 2.2 创建工程 2.2.1 创建工程 2.2.2 获取路径 2.2.3 设置路径 2.2.4 打开工程 2.2.5 添加文件 2.2.6 启动 GUI 2.2.7 配置 csim 参数 3 常见错误 3.1 核心共享库报错 4. 总结 1. 简介 在《Vitis Accelerated Libraries …...

加固三防平板如何提高轨道交通系统的运营效率?

在当今快节奏的社会中,轨道交通系统作为城市交通的重要组成部分,其运营效率的提升对于缓解交通拥堵、满足人们的出行需求以及促进城市的发展具有至关重要的意义。而加固三防平板作为一种先进的技术设备,正逐渐在轨道交通领域发挥着关键作用&a…...

Django 靓号管理系统:实现登录功能

本文将详细介绍如何在 Django 靓号管理系统中实现登录功能,包括用户认证、验证码生成、以及中间件的使用。我们将逐步展示所有相关代码,并附带详细注释。 1. 项目结构 首先,让我们看一下项目的基本结构: number ├── manage.py ├── monaco.ttf ├── number │ …...

【Solr 学习笔记】Solr 源码启动教程

Solr 源码启动教程 本教程记录了如何通过 IDEA 启动并调试 Solr 源码,从 Solr9 开始 Solr 项目已由 ant 方式改成了 gradle 构建方式,本教程将以 Solr 9 为例进行演示,IDE 选择使用 IntelliJ IDEA。 Solr github 地址:https://gi…...

Java中的事件驱动编程模型

Java中的事件驱动编程模型 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我将为大家介绍Java中的事件驱动编程模型。事件驱动编程模型是一种以事件为核心驱…...

Python 语法基础一

1.变量 python 中变量很简单,不需要指定数据类型,直接使用等号定义就好。python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前那个变量知道那个变量…...

从零开始:Spring Boot 中使用 Drools 规则引擎的完整指南

规则引擎作用 规则引擎主要用于将业务逻辑从应用程序代码中分离出来,提高系统的灵活性和可维护性。规则引擎通过预定义的规则来处理输入数据并做出相应的决策,从而实现业务逻辑的自动化和动态调整。 例如 门店信息校验:美团点评在门店信息…...

工业边缘计算网关

1 介绍 HINETG系列边缘计算网关(Linux操作系统),是华辰智通的—款面向工业现场设备接入、数据采集、设备监控的工业级边缘计算网关。采用ARM Cortex-A7 800MHz高性能CPU,拥有以太网、串口、CAN口、IO口等丰富的接口,支持以太网、…...

【C++ 初阶路】--- 类和对象(末)

目录 一、const成员1.1 取地址及const取地址操作符重载 二、再谈构造函数2.1 构造函数体赋值2.2 初始化列表2.3 explicit关键字 三、static成员3.1 概念3.2 特性 四、友元4.1 友元函数4.2 友元类 五、内部类六、匿名对象 一、const成员 将const修饰的“成员函数”称之为const成…...

bable 【实用教程】

简介 bable 用于将 ES6 的语法编译为 ES5 只关心语法,不关心 API 是否正确。不处理模块化(webpack 会处理) 搭建开发环境 安装相关的包 npm i babel/cli babel/core babel/preset-env新建文件 .babelrc,内容为 { "presets…...

Android中使用startActivityForResult启动活动

Android中使用startActivityForResult启动活动 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在本文中,我们将深入探讨Android开发中使用startActi…...

NineData和华为云在一起!提供一站式智能数据库DevOps平台

以GuassDB数据库为底座 NineData和华为云一起 为企业提供 一站式智能数据库DevOps平台 帮助开发者 高效、安全地完成 数据库SQL审核 访问控制、敏感数据保护等 日常数据库相关开发任务 NineData 智能数据管理平台 NineData 作为新一代的云原生智能数据管理平台&#xf…...

深入解析 Redisson分布式锁看门狗机制

一、Redisson分布式锁概述 1.1 分布式锁的意义 在分布式系统中,多个节点可能同时访问共享资源,导致数据不一致或竞态条件。分布式锁通过协调不同节点对共享资源的访问,确保数据的一致性和并发访问的安全性。 1.2 Redisson分布式锁的优势 …...

Apache Arrow 和数据的未来:开放标准推动人工智能发展

Apache Arrow 是一种开源列式内存格式,适用于平面数据和分层数据。在现代数据湖中,开放数据格式(如 Apache Arrow)位于现代对象存储的存储层中。这些格式成为对象存储中的对象。 在最新版本中,Apache Arrow 宣布计划从…...

Vue项目生产环境的打包优化

Vue项目生产环境的打包优化 前言 在这篇文章我们讨论Vue项目生产环境的打包优化,并按步骤展示实际优化过程中的修改和前后对比。 背景 刚开始的打包体积为48.71M 优化 步骤一:删除viser-vue viser-vue底层依赖antv/g2等库一并被删除,…...

oracle数据库之使用Java程序调用存储过程(二十四)

在Oracle数据库中,你可以使用Java程序来调用存储过程。这通常涉及几个步骤:首先,确保你的Java环境能够连接到Oracle数据库;其次,使用JDBC(Java Database Connectivity)来调用存储过程。 以下是…...

西电953总分第一、专业课第一考研上岸

今年上岸西电杭研院网信院网络与信息安全专业,总分370分,专业课116分,分别是总分第一名,专业课第一名,感谢研梦的953叶学姐,非常负责,本硕大佬学姐,当年密码学38分选手(满…...

pytorch-模型训练

目录 1. 模型训练的基本步骤1.1 train、test数据下载1.2 train、test数据加载1.3 Lenet5实例化、初始化loss函数、初始化优化器1.4 开始train和test 2. 完整代码 1. 模型训练的基本步骤 以cifar10和Lenet5为例 1.1 train、test数据下载 使用torchvision中的datasets可以方便…...

Linux /proc目录总结

1、概念 在Linux系统中,/proc目录是一个特殊的文件系统,通常被称为"proc文件系统"或"procfs"。这个文件系统以文件系统的方式为内核与进程之间的通信提供了一个接口。/proc目录中的文件大多数都提供了关于系统状态的信息&#xff0…...

【JavaEE】浅谈线程(二)

线程 线程的常见属性 线程属性可以通过下面的表格查看。 •ID 是线程的唯⼀标识,不同线程不会重复 • 名称是各种调试⼯具⽤到(如jconsoloe) • 状态表示线程当前所处的⼀个情况,下⾯我们会进⼀步说明 • 优先级高的线程理论上来…...

爬虫:爬取知乎热榜一级评论及回答2024不包含翻页

一、先上结果(注:本文仅为兴趣爱好探究,请勿进行商业利用或非法研究,负责后果自负,与作者无关) 1、爬标题及其具体内容 2、抓标题下的对应回答 3、爬取对应一级评论 二、上流程 1、获取cookies(相信哥哥姐姐…...

AI 编程探索- iOS动态标签控件

需求分析: 标签根据文字长度,自适应标签居中显示扩展 超过内容显示范围,需要换行显示,且保持居中显示 AI实现过程 提问: 回答: import UIKit import SnapKitclass DynamicLabelsContainerView: UIView…...

计算机网络——数据链路层(数据链路层概述及基本问题)

链路、数据链路和帧的概念 数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。 链路(…...

【前端】前端权限管理的实现方式:基于Vue项目的详细指南

前端权限管理的实现方式:基于Vue项目的详细指南 在Web开发中,前端权限管理是一个确保应用安全性和优化用户体验的关键部分。本文将详细介绍前端权限管理的几种实现方式,并通过Vue项目中的代码示例来演示具体实现方法。 前端权限管理的基本实…...

MySQL数据库基础练习系列——教务管理系统

项目名称与项目简介 教务管理系统是一个旨在帮助学校或教育机构管理教务活动的软件系统。它涵盖了学生信息管理、教师信息管理、课程管理、成绩管理以及相关的报表生成等功能。通过该系统,学校可以更加高效地处理教务数据,提升教学质量和管理水平。 1.…...

windowns server2016服务器配置php调用powerpoint COM组件

解决问题:windowns server2016服务器配置php调用powerpoint COM组件 环境: windows server2016 宝塔(nginxmysqlphp7.2) IIS 搭建宝塔: 下载地址:https://www.bt.cn/download/windows.html ​ 安装使用&…...

Git之checkout/reset --hard/clean -f区别(四十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...

GPT对话代码库——HAL库下 USART 的配置及问题(STM32G431CBT6)

目录 1,问: 1,答: 示例代码 正确的HAL库初始化方式 自定义初始化方式(不推荐) 总结 2,问: 2,答: 代码详细解释 初始部分 主初始化部分 初始化调用…...

论文学习 --- RL Maximumdiffusion reinforcement learning

前言 个人拙见,如果我的理解有问题欢迎讨论 (●′ω`●) 文章出处:https://techxplore.com/news/2024-05-random-robots-reliable-ai-algorithm.html 研究背景 最大扩散强化学习(MaxDiff RL)是一种创新的强化学习方法,借鉴了统计力学中的扩散过程和最大熵原理。该方法在…...

html+js+css在线倒计时

代码在图片后面 点赞加关注 谢谢大佬照顾&#x1f61c; 图例 时间到前 时间到后 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width,…...

MySQL的Geometry数据处理之WKB方案

MySQL的Geometry数据处理之WKT方案&#xff1a;https://blog.csdn.net/qq_42402854/article/details/140134357 MySQL的Geometry数据处理之WKT方案中&#xff0c;介绍WTK方案的优点&#xff0c;也感受到它的繁琐和缺陷。比如&#xff1a; 需要借助 ST_GeomFromText和 ST_AsTex…...

OFDM中采样频率与带宽的关系

1、LTE中OFDM相关参数 在LTE系统中&#xff0c;基波频率和子载波间隔为15 kHz。在带宽为20 MHz的情况下&#xff0c;采用2048点的IFFT或FFT分别生成或接收OFDM符号。OFDM符号在频带上有2048个子载波&#xff0c;只有中间1200个子载波承载数据&#xff0c;两边的子载波作为保护带…...

python的os.walk()

os.walk() 是一个非常有用的函数&#xff0c;用于在Python中遍历文件夹树。它返回一个生成器&#xff0c;该生成器在每次迭代时返回一个包含三个元素的元组&#xff1a;(当前文件夹的路径&#xff0c;文件夹中的子文件夹的列表&#xff0c;文件夹中的文件的列表)。这个函数对于…...

2024Spring> HNU-计算机系统-实验4-Buflab-导引+验收

前言 称不上导引了&#xff0c;因为验收已经结束了。主要是最近比较忙&#xff0c;在准备期末考试。周五晚上才开始看实验&#xff0c;自己跟着做了一遍实验&#xff0c;感觉难度还是比bomblab要低的&#xff0c;但是如果用心做的话对于栈帧的理解确实能上几个档次。 实验参考…...

【Python Cookbook】S01E03 找到最大最小的N个元素

目录 问题解决方案讨论 问题 如何在一个集合中找到最大或最小的 N 个元素&#xff1f; 解决方案 使用 heapq 模块。 pip install heapqheapq 模块中&#xff0c;有 nlargest() 以及 nsmallest() 两个函数&#xff1a; import heapqnums [1, 8, 23, 2, 7, -4, 8, 18, 42, …...

戴尔台式机win10家庭版操作系统,插上耳机之后听不到声音。(成功解决)

问题描述 戴尔台式机win10家庭版操作系统&#xff0c;外放有声音&#xff0c;插上耳机之后只有滋啦滋啦的声音&#xff0c;听不到音乐&#xff0c;耳机无损坏&#xff08;在其他台式机和手机上都能听到声音&#xff09;。尝试解决办法如下。 尝试解决 尝试一&#xff1a;更新…...

Git钩子(Hooks)之commit之前自动执行脚本

介绍 官方文档&#xff1a; 英文&#xff1a;https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks中文&#xff1a;https://git-scm.com/book/zh/v2/自定义-Git-Git-钩子 下面只复制了pre-commit部分文档&#xff0c;其他详见官方文档。 Git Hooks Like many other…...

如何在OrangePi AIpro智能小车上实现安全强化学习算法

随着人工智能和智能移动机器人的广泛应用&#xff0c;智能机器人的安全性和高效性问题受到了广泛关注。在实际应用中&#xff0c;智能小车需要在复杂的环境中自主导航和决策&#xff0c;这对算法的安全性和可靠性提出了很高的要求。传统的强化学习算法在处理安全约束时存在一定…...

JavaScrip原型对象

参考 JavaScrip原型对象 | LogDicthttps://www.logdict.com/archives/javascripyuan-xing-mo-shi...