当前位置: 首页 > 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;创建分类表与商品表 …...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

生成 Git SSH 证书

🔑 1. ​​生成 SSH 密钥对​​ 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​: -t rsa&#x…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁

赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...

在Zenodo下载文件 用到googlecolab googledrive

方法:Figshare/Zenodo上的数据/文件下载不下来?尝试利用Google Colab :https://zhuanlan.zhihu.com/p/1898503078782674027 参考: 通过Colab&谷歌云下载Figshare数据,超级实用!!&#xff0…...

基于Uniapp的HarmonyOS 5.0体育应用开发攻略

一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...

学习 Hooks【Plan - June - Week 2】

一、React API React 提供了丰富的核心 API,用于创建组件、管理状态、处理副作用、优化性能等。本文档总结 React 常用的 API 方法和组件。 1. React 核心 API React.createElement(type, props, …children) 用于创建 React 元素,JSX 会被编译成该函数…...

创客匠人:如何通过创始人IP打造实现知识变现与IP变现的长效增长?

在流量红利逐渐消退的当下,创始人IP的价值愈发凸显。它不仅能够帮助中小企业及个人创业者突破竞争壁垒,还能成为企业品牌影响力的核心资产。然而,市场上IP孵化机构鱼龙混杂,如何选择一家真正具备长期价值的合作伙伴?创…...

stm32—ADC和DAC

ADC和DAC 在嵌入式系统中,微控制器经常需要与现实世界的模拟信号进行交互。STM32微控制器内置了模拟数字转换器(ADC)和数字模拟转换器(DAC),它们是实现这种交互的关键模块。 1. 模拟数字转换器&#xff08…...