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

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦&#xff0…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

抽象类和接口(全)

一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...

五子棋测试用例

一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...

【QT控件】显示类控件

目录 一、Label 二、LCD Number 三、ProgressBar 四、Calendar Widget QT专栏:QT_uyeonashi的博客-CSDN博客 一、Label QLabel 可以用来显示文本和图片. 核心属性如下 代码示例: 显示不同格式的文本 1) 在界面上创建三个 QLabel 尺寸放大一些. objectName 分别…...

PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础

在构建任何动态、数据驱动的Web API时,一个稳定高效的数据存储方案是不可或缺的。对于使用Python FastAPI的开发者来说,深入理解关系型数据库的工作原理、掌握SQL这门与数据库“对话”的语言,以及学会如何在Python中操作数据库,是…...

【学习记录】使用 Kali Linux 与 Hashcat 进行 WiFi 安全分析:合法的安全测试指南

文章目录 📌 前言🧰 一、前期准备✅ 安装 Kali Linux✅ 获取支持监听模式的无线网卡 🛠 二、使用 Kali Linux 进行 WiFi 安全测试步骤 1:插入无线网卡并确认识别步骤 2:开启监听模式步骤 3:扫描附近的 WiFi…...