更多ruoyi-nbcio功能请看演示系统
gitee源代码地址
前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio
演示地址: http://218.75.87.38:9666
更多nbcio-boot功能请看演示系统
gitee源代码地址
后端代码: https://gitee.com/nbacheng/nbcio-boot
前端代码:https://gitee.com/nbacheng/nbcio-vue.git
在线演示(包括H5) : http://218.75.87.38:9888
继续上一部分内容
7、修改完redis配置后出现下面错误
Description: Failed to bind properties under 'spring.data.redis.ssl' to org.springframework.boot.autoconfigure.data.redis.RedisProperties$Ssl: Reason: org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.Boolean] to type [org.springframework.boot.autoconfigure.data.redis.RedisProperties$Ssl] Action: Update your application's configuration
去掉ssl,如下:
--- # redis 单机配置(单机与集群只能开启一个另一个需要注释掉) spring: data: redis: # 地址 host: 192.168.199.151 # 端口,默认为6379 port: 6379 # 数据库索引 database: 1 # 密码(如没有密码请注释掉) password: masterredis # 连接超时时间 timeout: 10s # 是否开启ssl #ssl: false
8、又出现新的错误
Description: Field factory in com.ruoyi.web.controller.system.ThirdLoginController required a bean of type 'com.xkcoding.justauth.AuthRequestFactory' that could not be found. The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true) Action: Consider defining a bean of type 'com.xkcoding.justauth.AuthRequestFactory' in your configuration.
这部分修改如下:
private final JustAuthProperties properties = new JustAuthProperties(); private final AuthStateCache authStateCache = null; private final AuthRequestFactory factory = new AuthRequestFactory(properties, authStateCache);
9、后来出现flowable的问题,这个需要升级到7以后得版本,我现在升级到最新的flowable7.01
需要修改里面的一个文件CustomProcessDiagramCanvas注释掉
try { USERTASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/userTask.png", this.customClassLoader)); SCRIPTTASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/scriptTask.png", this.customClassLoader)); SERVICETASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/serviceTask.png", this.customClassLoader)); RECEIVETASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/receiveTask.png", this.customClassLoader)); SENDTASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/sendTask.png", this.customClassLoader)); MANUALTASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/manualTask.png", this.customClassLoader)); BUSINESS_RULE_TASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/businessRuleTask.png", this.customClassLoader)); SHELL_TASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/shellTask.png", this.customClassLoader)); DMN_TASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/dmnTask.png", this.customClassLoader)); CAMEL_TASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/camelTask.png", this.customClassLoader)); //MULE_TASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/muleTask.png", this.customClassLoader));//flowable7后没有了 HTTP_TASK_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/httpTask.png", this.customClassLoader)); TIMER_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/timer.png", this.customClassLoader)); COMPENSATE_THROW_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/compensate-throw.png", this.customClassLoader)); COMPENSATE_CATCH_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/compensate.png", this.customClassLoader)); ERROR_THROW_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/error-throw.png", this.customClassLoader)); ERROR_CATCH_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/error.png", this.customClassLoader)); MESSAGE_THROW_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/message-throw.png", this.customClassLoader)); MESSAGE_CATCH_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/message.png", this.customClassLoader)); SIGNAL_THROW_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/signal-throw.png", this.customClassLoader)); SIGNAL_CATCH_IMAGE = ImageIO.read(ReflectUtil.getResource("org/flowable/icons/signal.png", this.customClassLoader)); } catch (IOException var4) { LOGGER.warn("Could not load image for process diagram creation: {}", var4.getMessage()); }
10、又出现下面问题
Parameter 1 of method openApiBuilder in com.ruoyi.framework.config.SwaggerConfig required a bean of type 'org.springdoc.core.SecurityService' that could not be found. Action: Consider defining a bean of type 'org.springdoc.core.SecurityService' in your configuration.
先暂时注释掉下面的代码
/** * 自定义 openapi 处理器 */ /* @Bean public OpenAPIService openApiBuilder(Optional<OpenAPI> openAPI, SecurityService securityParser, SpringDocConfigProperties springDocConfigProperties, PropertyResolverUtils propertyResolverUtils, Optional<List<OpenApiBuilderCustomizer>> openApiBuilderCustomisers, Optional<List<ServerBaseUrlCustomizer>> serverBaseUrlCustomisers, Optional<JavadocProvider> javadocProvider) { return new OpenApiHandler(openAPI, securityParser, springDocConfigProperties, propertyResolverUtils, openApiBuilderCustomisers, serverBaseUrlCustomisers, javadocProvider); }*/
11、前端一访问首页就报错了
- [PLUS]开始请求 => URL[GET /getInfo],无参数 [31m2024-02-24 16:05:50[0;39m [32m[XNIO-1 task-3][0;39m [1;31mERROR[0;39m [1;35mc.r.f.w.e.GlobalExceptionHandler [0;39m - 请求地址'/getInfo',发生未知异常. cn.dev33.satoken.exception.InvalidContextException: 未能获取有效的上下文处理器 at cn.dev33.satoken.context.SaTokenContextDefaultImpl.getStorage(SaTokenContextDefaultImpl.java:59) at cn.dev33.satoken.context.SaHolder.getStorage(SaHolder.java:69) at com.ruoyi.common.helper.LoginHelper.getLoginUser(LoginHelper.java:69) at com.ruoyi.web.controller.system.SysLoginController.getInfo(SysLoginController.java:124) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
12、下面这个要修改成boot3
<!-- Sa-Token 权限认证, 在线文档:http://sa-token.dev33.cn/ --> <dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-spring-boot3-starter</artifactId> <version>${satoken.version}</version> </dependency>
13、这样总算出来登录界面了