从Quarkus应用程序连接到Mysql数据库在docker-compose中运行的问题

如何解决从Quarkus应用程序连接到Mysql数据库在docker-compose中运行的问题

我有一个quarkus应用程序正在尝试连接到mysql数据库,这两个数据库都在docker-compose中运行。该应用程序已启动,并正在处理请求(以下是docker-compose日志的屏幕快照,其中显示了quarkus应用程序和mysql启动): [![docker-compose开始日志] [1]] [1]

要验证quarkus应用程序是否正常运行,我向以下请求: http:// localhost:8080 / health / liveliness 。屏幕截图如下所示: [![生动度检查] [2]] [2]

数据库也已建立并可用(为验证您可以运行 mysql -h 192.168.0.4 -P 3306 -u user -p ,并在提示输入密码时,输入 password )。您可以在下面看到我能够登录并运行一些伪命令的屏幕截图:

但是,当我发出涉及对数据库运行查询的请求时,它总是超时。完整的日志(包括堆栈跟踪)如下所示:

    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    reading-comprehension-ws_1  | 2020-09-07 21:59:51,526 INFO  [com.con.rea.int.DebugInterceptor] (executor-thread-1) Unique id: 6060ad67-723a-4899-afa4-0811ec9dc3b4 com.connor.reading.dao.AssessmentDao.getAllAssessmentsthrew exception of type class com.connor.reading.exception.SystemException for parameters empty (no parameters)
    reading-comprehension-ws_1  | 2020-09-07 21:59:51,526 INFO  [com.con.rea.int.DebugInterceptor] (executor-thread-1) Unique id: 6060ad67-723a-4899-afa4-0811ec9dc3b4 com.connor.reading.service.AssessmentService.getAssessmentsthrew exception of type class com.connor.reading.exception.SystemException for parameters NULL,NULL
    reading-comprehension-ws_1  | 2020-09-07 21:59:51,526 INFO  [com.con.rea.int.DebugInterceptor] (executor-thread-1) Unique id: 6060ad67-723a-4899-afa4-0811ec9dc3b4 com.connor.reading.controller.AssessmentsApiImpl.getAssessmentsthrew exception of type class com.connor.reading.exception.SystemException for parameters NULL,526 ERROR [com.con.rea.uti.ExceptionMapperImpl] (executor-thread-1) Handling error: com.connor.reading.exception.SystemException: There was an error when querying the database for all assessments.  The sql ran was select * from rc.assessments
    reading-comprehension-ws_1  |   at com.connor.reading.dao.AssessmentDao.getAllAssessments(AssessmentDao.java:42)
    reading-comprehension-ws_1  |   at com.connor.reading.dao.AssessmentDao_Subclass.getAllAssessments$$superaccessor2(AssessmentDao_Subclass.zig:368)
    reading-comprehension-ws_1  |   at com.connor.reading.dao.AssessmentDao_Subclass$$function$$2.apply(AssessmentDao_Subclass$$function$$2.zig:29)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
    reading-comprehension-ws_1  |   at com.connor.reading.interceptor.DebugInterceptor.handleAroundInvoke(DebugInterceptor.java:33)
    reading-comprehension-ws_1  |   at com.connor.reading.interceptor.DebugInterceptor_Bean.intercept(DebugInterceptor_Bean.zig:385)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
    reading-comprehension-ws_1  |   at com.connor.reading.dao.AssessmentDao_Subclass.getAllAssessments(AssessmentDao_Subclass.zig:326)
    reading-comprehension-ws_1  |   at com.connor.reading.service.AssessmentService.getAssessments(AssessmentService.java:32)
    reading-comprehension-ws_1  |   at com.connor.reading.service.AssessmentService_Subclass.getAssessments$$superaccessor1(AssessmentService_Subclass.zig:241)
    reading-comprehension-ws_1  |   at com.connor.reading.service.AssessmentService_Subclass$$function$$1.apply(AssessmentService_Subclass$$function$$1.zig:41)
reading-comprehension-ws_1  |   at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
    reading-comprehension-ws_1  |   at com.connor.reading.interceptor.DebugInterceptor.handleAroundInvoke(DebugInterceptor.java:33)
    reading-comprehension-ws_1  |   at com.connor.reading.interceptor.DebugInterceptor_Bean.intercept(DebugInterceptor_Bean.zig:385)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
    reading-comprehension-ws_1  |   at com.connor.reading.service.AssessmentService_Subclass.getAssessments(AssessmentService_Subclass.zig:196)
    reading-comprehension-ws_1  |   at com.connor.reading.controller.AssessmentsApiImpl.getAssessments(AssessmentsApiImpl.java:28)
    reading-comprehension-ws_1  |   at com.connor.reading.controller.AssessmentsApiImpl_Subclass.getAssessments$$superaccessor1(AssessmentsApiImpl_Subclass.zig:211)
    reading-comprehension-ws_1  |   at com.connor.reading.controller.AssessmentsApiImpl_Subclass$$function$$1.apply(AssessmentsApiImpl_Subclass$$function$$1.zig:41)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
    reading-comprehension-ws_1  |   at com.connor.reading.interceptor.DebugInterceptor.handleAroundInvoke(DebugInterceptor.java:33)
    reading-comprehension-ws_1  |   at com.connor.reading.interceptor.DebugInterceptor_Bean.intercept(DebugInterceptor_Bean.zig:385)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
    reading-comprehension-ws_1  |   at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
    reading-comprehension-ws_1  |   at com.connor.reading.controller.AssessmentsApiImpl_Subclass.getAssessments(AssessmentsApiImpl_Subclass.zig:166)
    reading-comprehension-ws_1  |   at com.connor.reading.controller.AssessmentsApiImpl_ClientProxy.getAssessments(AssessmentsApiImpl_ClientProxy.zig:195)
    reading-comprehension-ws_1  |   at java.lang.reflect.Method.invoke(Method.java:566)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:130)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:638)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:504)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:454)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:456)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:417)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:391)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:68)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:488)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:259)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:160)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:163)
    reading-comprehension-ws_1  |   at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:245)
    reading-comprehension-ws_1  |   at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:73)
    reading-comprehension-ws_1  |   at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:132)
    reading-comprehension-ws_1  |   at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.access$000(VertxRequestHandler.java:37)
    reading-comprehension-ws_1  |   at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:94)
reading-comprehension-ws_1  |   at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    reading-comprehension-ws_1  |   at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046)
    reading-comprehension-ws_1  |   at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578)
    reading-comprehension-ws_1  |   at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
    reading-comprehension-ws_1  |   at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    reading-comprehension-ws_1  |   at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    reading-comprehension-ws_1  |   at java.lang.Thread.run(Thread.java:834)
    reading-comprehension-ws_1  |   at org.jboss.threads.JBossThread.run(JBossThread.java:479)
    reading-comprehension-ws_1  |   at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517)
    reading-comprehension-ws_1  |   at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
    reading-comprehension-ws_1  | Caused by: com.connor.quarkus.jdbc.QuarkusDataAccessException: An error occurred
    reading-comprehension-ws_1  |   at com.connor.quarkus.jdbc.QuarkusJdbcTemplate.query(QuarkusJdbcTemplate.java:31)
    reading-comprehension-ws_1  |   at com.connor.reading.dao.AssessmentDao.getAllAssessments(AssessmentDao.java:39)
    reading-comprehension-ws_1  |   ... 61 more
    reading-comprehension-ws_1  | Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
    reading-comprehension-ws_1  | 
    reading-comprehension-ws_1  | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    reading-comprehension-ws_1  |   at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
    reading-comprehension-ws_1  |   at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
    reading-comprehension-ws_1  |   at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)
    reading-comprehension-ws_1  |   at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
    reading-comprehension-ws_1  |   at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
    reading-comprehension-ws_1  |   at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197)
    reading-comprehension-ws_1  |   at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:200)
    reading-comprehension-ws_1  |   at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:419)
    reading-comprehension-ws_1  |   at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:401)
    reading-comprehension-ws_1  |   at java.util.concurrent.FutureTask.run(FutureTask.java:264)
reading-comprehension-ws_1  |   at io.agroal.pool.util.PriorityScheduledExecutor.beforeExecute(PriorityScheduledExecutor.java:65)
    reading-comprehension-ws_1  |   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1126)
    reading-comprehension-ws_1  |   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    reading-comprehension-ws_1  |   at java.lang.Thread.run(Thread.java:834)
    reading-comprehension-ws_1  |   ... 2 more
    reading-comprehension-ws_1  | Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
    reading-comprehension-ws_1  | 
    reading-comprehension-ws_1  | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    reading-comprehension-ws_1  |   at java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    reading-comprehension-ws_1  |   at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
    reading-comprehension-ws_1  |   at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
    reading-comprehension-ws_1  |   at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
    reading-comprehension-ws_1  |   at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
    reading-comprehension-ws_1  |   at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:91)
    reading-comprehension-ws_1  |   at com.mysql.cj.NativeSession.connect(NativeSession.java:144)
    reading-comprehension-ws_1  |   at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:956)
    reading-comprehension-ws_1  |   at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:826)
    reading-comprehension-ws_1  |   ... 13 more
    reading-comprehension-ws_1  | Caused by: java.net.ConnectException: Connection timed out (Connection timed out)
    reading-comprehension-ws_1  |   at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_net_ConnectException_2_0002e_0003cinit_0003e_00028Ljava_lang_String_2_00029V(JNIJavaCallWrappers.java:0)
    reading-comprehension-ws_1  |   at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java)
    reading-comprehension-ws_1  |   at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
    reading-comprehension-ws_1  |   at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
    reading-comprehension-ws_1  |   at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
    reading-comprehension-ws_1  |   at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
    reading-comprehension-ws_1  |   at java.net.Socket.connect(Socket.java:609)
    reading-comprehension-ws_1  |   at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:155)
    reading-comprehension-ws_1  |   at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:65)
    reading-comprehension-ws_1  |   ... 16 more

存储库链接:https://gitlab.com/connorbutch/reading-comprehension(在分支 9-list-all-assessments 上)

可在以下位置找到Docker撰写文件的内容(用于运行数据库和应用程序):https://gitlab.com/connorbutch/reading-comprehension/-/blob/9-list-all-assessments/reading-comprehension-server-quarkus-impl/infrastructure/docker-compose.yml。为了方便起见,请查找以下内容:

#This file is NOT ever intended for use in production.  Docker-compose is a great tool for running
#database with our application for acceptance testing.
version: '3.3'

#Assign a static ip to the database so that it runs the same on gitlab ci server (as the localhost alias does not work with docker:dind as a service)
networks:
  network:
    ipam:
      driver: default
      config:
        - subnet: 192.168.0.0/24
services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: 'rc'
      MYSQL_USER: 'user'
      MYSQL_PASSWORD: 'password'
      MYSQL_ROOT_PASSWORD: 'password'
    ports:
      - '3306:3306'
    expose:
      - '3306'
    volumes:
      - my-db:/var/lib/mysql
    networks:
      network:
        ipv4_address: 192.168.0.4
  reading-comprehension-ws:
    image: registry.gitlab.com/connorbutch/reading-comprehension
    restart: on-failure
    ports:
      - 8080:8080
    expose:
      - 8080
volumes:
  my-db:

对于不熟悉quarkus的人,它的工作原理与spring类似,因为它会根据application.properties中设置的值自动装配/注入数据源。您可以在以下位置找到此文件:https://gitlab.com/connorbutch/reading-comprehension/-/blob/9-list-all-assessments/reading-comprehension-server-quarkus-impl/src/main/resources/application.properties,并且我还包括以下来源:

#Adding reflection config for generated models as well as properties file containing sql -> https://quarkus.io/guides/writing-native-applications-tips
quarkus.native.additional-build-args =-H:ReflectionConfigurationFiles=reflection-config.json,-H:ResourceConfigurationFiles=resources-config.json

#database (mysql) stuff -> https://quarkus.io/guides/datasource
quarkus.datasource.db-kind=mysql
quarkus.datasource.username=root
quarkus.datasource.password=password
quarkus.datasource.jdbc.url=jdbc:mysql://192.168.0.4:3306/rc
#the below doesn't seem to execute on startup,which makes me think it can't connect at all
#quarkus.datasource.new-connection-sql=CREATE DATABASE IF NOT EXISTS RC

要运行该应用程序,请使用以下文件:https://gitlab.com/connorbutch/reading-comprehension/-/blob/9-list-all-assessments/run-it.sh

关于要看什么的任何想法(application.yaml,build.gradle等)? 谢谢, 康纳 [1]:https://i.stack.imgur.com/5Hmry.jpg [2]:https://i.stack.imgur.com/9nHip.png

解决方法

您的服务无法连接到数据库,请尝试将以下内容添加到服务“ reading-comprehension-ws”:

environment:
  quarkus.datasource.url: "jdbc:mysql://db:3306/{your-schema name}"

您需要用实际的架构名称替换{您的架构名称}。

由于它们运行在相同的docker-compose网络中,因此您的服务应该能够按服务名称查找数据库。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-