启动 tomcat 报错“Invalid bean definition with name ‘dataSource‘ defined in URL“

在尝试修改并保存context.properties文件后,启动Tomcat服务器时遇到错误:'dataSource' bean定义无效,无法解析'mysql.url'占位符。问题源于Linux环境下编辑文件的不当操作。解决方案是删除并重新创建context.properties文件,确保在Linux系统而非Windows的记事本中完成文件编辑和保存,最后重启Tomcat。

异常

用记事本修改了数据库连接参数文件 context.properties 后再次启动 tomcat 报错:

2022-05-10 09:11:58 [ERROR] ContextLoader: Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource' defined in URL [file:/home/apache-tomcat-8.5.13/webapps/xxx-xx-xxxxxxx-1.0-SNAPSHOT/WEB-INF/classes/context.xml]: Could not resolve placeholder 'mysql.url' in string value "${mysql.url}"
	at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:209)
	at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:220)
	at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:84)
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687)
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:662)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454)
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:388)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1107)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1841)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

修改是通过 xshell 打开的记事本进行修改的:
在这里插入图片描述
在这里插入图片描述
但保存后重启 tomcat 仍然报这个错。

解决

先把 context.properties 文件中的内容复制下面,然后删除掉原来的 context.properties 文件(Linux系统中可以通过 rm -rf context.properties 命令进行删除)。

接着重新创建一个同名的 context.properties 文件(使用 vi context.properties 命令进行创建),然后将刚才复制的内容粘贴进去,注意是在Linux系统中完成,而不是在记事本中完成。

在这里插入图片描述
最后重启 tomcat 就可以了。

参考资料:

现在出现了这个问题 你能判断出是什么问题导致的码 xml文件的位置public interface MqttUserMapper { MqttUser findByUsername(String username); } @SpringBootApplication @MapperScan("org.ims.auth.mapper") public class IotEmqxAuthApplication { public static void main(String[] args) { SpringApplication.run(IotEmqxAuthApplication.class, args); } } org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'mqttUserMapper' defined in file [F:\Ims-Plus\Ims-Plus\ims-iot-processor\iot-emqx-auth\target\classes\org\ims\auth\mapper\MqttUserMapper.class]: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String maven:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.4.7</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>org.ims</groupId> <artifactId>iot-emqx-auth</artifactId> <version>0.0.1-SNAPSHOT</version> <name>iot-emqx-auth</name> <description>iot-emqx-auth</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.2.2</version> </dependency> <!-- MyBatis Starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.0.2</version> <!-- 必须 3.x --> </dependency> <!-- MySQL 驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> # Tomcat server: port: 8001 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/ims-emqx?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: IMS852123. mybatis: # ← 注意这里是 spring 的子节点 type-aliases-package: org.ims.auth.domain mapper-locations: "classpath:mapper/*.xml" configuration: map-underscore-to-camel-case: true logging: level: org.ims.auth.mapper: debug # 输出SQL日志 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.ims.auth.mapper.MqttUserMapper"> <!-- 结果映射,字段与实体类属性映射关系 --> <resultMap id="MqttUserResultMap" type="org.ims.auth.domain.MqttUser"> <id property="id" column="id" /> <result property="username" column="username"/> <result property="password" column="password"/> <result property="enable" column="enable"/> <result property="createTime" column="create_time"/> <result property="updateTime" column="update_time"/> <result property="remark" column="remark"/> </resultMap> <!-- 查询:根据用户名获取用户信息 --> <select id="findByUsername" resultMap="MqttUserResultMap" parameterType="string"> SELECT id, username, password, enable FROM mqtt_user WHERE username = #{username} LIMIT 1 </select> </mapper>
10-16
"D:\Program Files\apache-tomcat-9.0.105\bin\catalina.bat" run [2025-06-09 11:48:32,238] 工件 ssm2f13d:war exploded: 正在等待服务器连接以启动工件部署… Using CATALINA_BASE: "C:\Users\仇多旭\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\6290ffec-a6da-42dc-9163-812f40cf8910" Using CATALINA_HOME: "D:\Program Files\apache-tomcat-9.0.105" Using CATALINA_TMPDIR: "D:\Program Files\apache-tomcat-9.0.105\temp" Using JRE_HOME: "C:\Users\仇多旭\.jdks\openjdk-20.0.1-1" Using CLASSPATH: "D:\Program Files\apache-tomcat-9.0.105\bin\bootstrap.jar;D:\Program Files\apache-tomcat-9.0.105\bin\tomcat-juli.jar" Using CATALINA_OPTS: "" NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 09-Jun-2025 23:48:32.849 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.105 09-Jun-2025 23:48:32.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: May 7 2025 18:36:02 UTC 09-Jun-2025 23:48:32.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 9.0.105.0 09-Jun-2025 23:48:32.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 11 09-Jun-2025 23:48:32.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 09-Jun-2025 23:48:32.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 09-Jun-2025 23:48:32.851 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: C:\Users\仇多旭\.jdks\openjdk-20.0.1-1 09-Jun-2025 23:48:32.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 20.0.1+9-29 09-Jun-2025 23:48:32.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 09-Jun-2025 23:48:32.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\仇多旭\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\6290ffec-a6da-42dc-9163-812f40cf8910 09-Jun-2025 23:48:32.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\Program Files\apache-tomcat-9.0.105 09-Jun-2025 23:48:32.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang=ALL-UNNAMED 09-Jun-2025 23:48:32.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 09-Jun-2025 23:48:32.853 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 09-Jun-2025 23:48:32.853 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.io=ALL-UNNAMED 09-Jun-2025 23:48:32.853 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util=ALL-UNNAMED 09-Jun-2025 23:48:32.853 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 09-Jun-2025 23:48:32.853 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 09-Jun-2025 23:48:32.853 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\仇多旭\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\6290ffec-a6da-42dc-9163-812f40cf8910\conf\logging.properties 09-Jun-2025 23:48:32.853 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 09-Jun-2025 23:48:32.853 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote= 09-Jun-2025 23:48:32.853 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.port=1099 09-Jun-2025 23:48:32.854 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.ssl=false 09-Jun-2025 23:48:32.854 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.password.file=C:\Users\仇多旭\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\6290ffec-a6da-42dc-9163-812f40cf8910\jmxremote.password 09-Jun-2025 23:48:32.854 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.access.file=C:\Users\仇多旭\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\6290ffec-a6da-42dc-9163-812f40cf8910\jmxremote.access 09-Jun-2025 23:48:32.854 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.rmi.server.hostname=127.0.0.1 09-Jun-2025 23:48:32.854 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048 09-Jun-2025 23:48:32.854 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 09-Jun-2025 23:48:32.854 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dsun.io.useCanonCaches=false 09-Jun-2025 23:48:32.855 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dignore.endorsed.dirs= 09-Jun-2025 23:48:32.855 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\仇多旭\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\6290ffec-a6da-42dc-9163-812f40cf8910 09-Jun-2025 23:48:32.855 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=D:\Program Files\apache-tomcat-9.0.105 09-Jun-2025 23:48:32.855 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=D:\Program Files\apache-tomcat-9.0.105\temp 09-Jun-2025 23:48:32.857 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.4]加载了基于APR的Apache Tomcat本机库[1.3.1]。 09-Jun-2025 23:48:32.857 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]、UDS [true]。 09-Jun-2025 23:48:32.857 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true] 09-Jun-2025 23:48:32.861 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 3.0.14 4 Jun 2024] 09-Jun-2025 23:48:32.984 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 09-Jun-2025 23:48:32.998 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[301]毫秒内初始化 09-Jun-2025 23:48:33.031 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina] 09-Jun-2025 23:48:33.031 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.105] 09-Jun-2025 23:48:33.039 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 09-Jun-2025 23:48:33.074 信息 [main] org.apache.catalina.startup.Catalina.start [75]毫秒后服务器启动 已连接到服务器 [2025-06-09 11:48:33,351] 工件 ssm2f13d:war exploded: 正在部署工件,请稍候… 09-Jun-2025 23:48:36.400 信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 2025-06-09 23:48:36 -0 [RMI TCP Connection(3)-127.0.0.1] INFO - Root WebApplicationContext: initialization started 2025-06-09 23:48:36 -93 [RMI TCP Connection(3)-127.0.0.1] INFO - Refreshing Root WebApplicationContext: startup date [Mon Jun 09 23:48:36 CST 2025]; root of context hierarchy 2025-06-09 23:48:36 -161 [RMI TCP Connection(3)-127.0.0.1] INFO - Loading XML bean definitions from class path resource [spring/spring.xml] 2025-06-09 23:48:36 -385 [RMI TCP Connection(3)-127.0.0.1] INFO - Loading XML bean definitions from class path resource [spring/spring-mybatis.xml] 2025-06-09 23:48:37 -839 [RMI TCP Connection(3)-127.0.0.1] WARN - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource' defined in class path resource [spring/spring-mybatis.xml]: Could not resolve placeholder 'jdbc_url' in value "${jdbc_url}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc_url' in value "${jdbc_url}" 2025-06-09 23:48:37 -842 [RMI TCP Connection(3)-127.0.0.1] ERROR - Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource' defined in class path resource [spring/spring-mybatis.xml]: Could not resolve placeholder 'jdbc_url' in value "${jdbc_url}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc_url' in value "${jdbc_url}" at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:228) at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.processProperties(PropertySourcesPlaceholderConfigurer.java:182) at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.postProcessBeanFactory(PropertySourcesPlaceholderConfigurer.java:157) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:282) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:162) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:693) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:409) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4059) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4501) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:603) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1745) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:263) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:803) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:449) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:403) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:263) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:803) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802) at java.management/com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:472) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1472) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1310) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1412) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1623) Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc_url' in value "${jdbc_url}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:172) at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124) at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:237) at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:211) at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175) at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveStringValue(BeanDefinitionVisitor.java:292) at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:213) at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitPropertyValues(BeanDefinitionVisitor.java:143) at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:84) at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:225) ... 49 more 09-Jun-2025 23:48:37.408 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件 09-Jun-2025 23:48:37.446 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[/ssm2f13d]启动失败 [2025-06-09 11:48:37,470] 工件 ssm2f13d:war exploded: 部署工件时出错。请参阅服务器日志了解详细信息。
06-10
C:\Users\26594\.jdks\openjdk-20.0.1\bin\java.exe -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:D:\ij2\IntelliJ IDEA 2023.1.2\lib\idea_rt.jar=55567:D:\ij2\IntelliJ IDEA 2023.1.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\CodeStore\Java\RuiJiTakeaway\RuiJiTakeaway\target\classes;D:\repository\org\springframework\boot\spring-boot-starter-web\3.5.0\spring-boot-starter-web-3.5.0.jar;D:\repository\org\springframework\boot\spring-boot-starter\3.5.0\spring-boot-starter-3.5.0.jar;D:\repository\org\springframework\boot\spring-boot\3.5.0\spring-boot-3.5.0.jar;D:\repository\org\springframework\boot\spring-boot-starter-logging\3.5.0\spring-boot-starter-logging-3.5.0.jar;D:\repository\ch\qos\logback\logback-classic\1.5.18\logback-classic-1.5.18.jar;D:\repository\ch\qos\logback\logback-core\1.5.18\logback-core-1.5.18.jar;D:\repository\org\apache\logging\log4j\log4j-to-slf4j\2.24.3\log4j-to-slf4j-2.24.3.jar;D:\repository\org\apache\logging\log4j\log4j-api\2.24.3\log4j-api-2.24.3.jar;D:\repository\org\slf4j\jul-to-slf4j\2.0.17\jul-to-slf4j-2.0.17.jar;D:\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;D:\repository\org\yaml\snakeyaml\2.4\snakeyaml-2.4.jar;D:\repository\org\springframework\boot\spring-boot-starter-json\3.5.0\spring-boot-starter-json-3.5.0.jar;D:\repository\com\fasterxml\jackson\core\jackson-databind\2.19.0\jackson-databind-2.19.0.jar;D:\repository\com\fasterxml\jackson\core\jackson-annotations\2.19.0\jackson-annotations-2.19.0.jar;D:\repository\com\fasterxml\jackson\core\jackson-core\2.19.0\jackson-core-2.19.0.jar;D:\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.19.0\jackson-datatype-jdk8-2.19.0.jar;D:\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.19.0\jackson-datatype-jsr310-2.19.0.jar;D:\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.19.0\jackson-module-parameter-names-2.19.0.jar;D:\repository\org\springframework\boot\spring-boot-starter-tomcat\3.5.0\spring-boot-starter-tomcat-3.5.0.jar;D:\repository\org\apache\tomcat\embed\tomcat-embed-core\10.1.41\tomcat-embed-core-10.1.41.jar;D:\repository\org\apache\tomcat\embed\tomcat-embed-el\10.1.41\tomcat-embed-el-10.1.41.jar;D:\repository\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.41\tomcat-embed-websocket-10.1.41.jar;D:\repository\org\springframework\spring-web\6.2.7\spring-web-6.2.7.jar;D:\repository\org\springframework\spring-beans\6.2.7\spring-beans-6.2.7.jar;D:\repository\io\micrometer\micrometer-observation\1.15.0\micrometer-observation-1.15.0.jar;D:\repository\io\micrometer\micrometer-commons\1.15.0\micrometer-commons-1.15.0.jar;D:\repository\org\springframework\spring-webmvc\6.2.7\spring-webmvc-6.2.7.jar;D:\repository\org\springframework\spring-aop\6.2.7\spring-aop-6.2.7.jar;D:\repository\org\springframework\spring-context\6.2.7\spring-context-6.2.7.jar;D:\repository\org\springframework\spring-expression\6.2.7\spring-expression-6.2.7.jar;D:\repository\com\mysql\mysql-connector-j\9.2.0\mysql-connector-j-9.2.0.jar;D:\repository\org\projectlombok\lombok\1.18.38\lombok-1.18.38.jar;D:\repository\org\slf4j\slf4j-api\2.0.17\slf4j-api-2.0.17.jar;D:\repository\org\springframework\spring-core\6.2.7\spring-core-6.2.7.jar;D:\repository\org\springframework\spring-jcl\6.2.7\spring-jcl-6.2.7.jar;D:\repository\com\baomidou\mybatis-plus-boot-starter\3.4.3.4\mybatis-plus-boot-starter-3.4.3.4.jar;D:\repository\com\baomidou\mybatis-plus\3.4.3.4\mybatis-plus-3.4.3.4.jar;D:\repository\com\baomidou\mybatis-plus-extension\3.4.3.4\mybatis-plus-extension-3.4.3.4.jar;D:\repository\com\baomidou\mybatis-plus-core\3.4.3.4\mybatis-plus-core-3.4.3.4.jar;D:\repository\com\baomidou\mybatis-plus-annotation\3.4.3.4\mybatis-plus-annotation-3.4.3.4.jar;D:\repository\com\github\jsqlparser\jsqlparser\4.2\jsqlparser-4.2.jar;D:\repository\org\mybatis\mybatis\3.5.7\mybatis-3.5.7.jar;D:\repository\org\mybatis\mybatis-spring\2.0.6\mybatis-spring-2.0.6.jar;D:\repository\org\springframework\boot\spring-boot-autoconfigure\3.5.0\spring-boot-autoconfigure-3.5.0.jar;D:\repository\org\springframework\boot\spring-boot-starter-jdbc\3.5.0\spring-boot-starter-jdbc-3.5.0.jar;D:\repository\com\zaxxer\HikariCP\6.3.0\HikariCP-6.3.0.jar;D:\repository\org\springframework\spring-jdbc\6.2.7\spring-jdbc-6.2.7.jar;D:\repository\org\springframework\spring-tx\6.2.7\spring-tx-6.2.7.jar com.example.ruijitakeaway.RuiJiTakeawayApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.5.0) 2025-06-07T11:10:48.080+08:00 INFO 14792 --- [RuiJiTakeaway] [ main] c.e.r.RuiJiTakeawayApplication : Starting RuiJiTakeawayApplication using Java 20.0.1 with PID 14792 (D:\CodeStore\Java\RuiJiTakeaway\RuiJiTakeaway\target\classes started by suitpur in D:\CodeStore\Java\RuiJiTakeaway\RuiJiTakeaway) 2025-06-07T11:10:48.085+08:00 INFO 14792 --- [RuiJiTakeaway] [ main] c.e.r.RuiJiTakeawayApplication : No active profile set, falling back to 1 default profile: "default" 2025-06-07T11:10:48.539+08:00 WARN 14792 --- [RuiJiTakeaway] [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'employeeMapper' defined in file [D:\CodeStore\Java\RuiJiTakeaway\RuiJiTakeaway\target\classes\com\example\ruijitakeaway\Login\EmployeeMapper.class]: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String 2025-06-07T11:10:48.544+08:00 INFO 14792 --- [RuiJiTakeaway] [ main] .s.b.a.l.ConditionEvaluationReportLogger : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2025-06-07T11:10:48.565+08:00 ERROR 14792 --- [RuiJiTakeaway] [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'employeeMapper' defined in file [D:\CodeStore\Java\RuiJiTakeaway\RuiJiTakeaway\target\classes\com\example\ruijitakeaway\Login\EmployeeMapper.class]: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:864) ~[spring-beans-6.2.7.jar:6.2.7] at org.springframework.beans.factory.support.AbstractBeanFactory.getType(AbstractBeanFactory.java:745) ~[spring-beans-6.2.7.jar:6.2.7] at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAnnotationOnBean(DefaultListableBeanFactory.java:817) ~[spring-beans-6.2.7.jar:6.2.7] at org.springframework.boot.sql.init.dependency.AnnotationDependsOnDatabaseInitializationDetector.detect(AnnotationDependsOnDatabaseInitializationDetector.java:36) ~[spring-boot-3.5.0.jar:3.5.0] at org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer$DependsOnDatabaseInitializationPostProcessor.detectDependsOnInitializationBeanNames(DatabaseInitializationDependencyConfigurer.java:152) ~[spring-boot-3.5.0.jar:3.5.0] at org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer$DependsOnDatabaseInitializationPostProcessor.postProcessBeanFactory(DatabaseInitializationDependencyConfigurer.java:115) ~[spring-boot-3.5.0.jar:3.5.0] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:363) ~[spring-context-6.2.7.jar:6.2.7] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:197) ~[spring-context-6.2.7.jar:6.2.7] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:791) ~[spring-context-6.2.7.jar:6.2.7] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:609) ~[spring-context-6.2.7.jar:6.2.7] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.5.0.jar:3.5.0] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) ~[spring-boot-3.5.0.jar:3.5.0] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.5.0.jar:3.5.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.5.0.jar:3.5.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1362) ~[spring-boot-3.5.0.jar:3.5.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1351) ~[spring-boot-3.5.0.jar:3.5.0] at com.example.ruijitakeaway.RuiJiTakeawayApplication.main(RuiJiTakeawayApplication.java:12) ~[classes/:na] Process finished with exit code 1
06-08
28-May-2025 21:13:18.865 淇℃伅 [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath 28-May-2025 21:13:19.088 淇℃伅 [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log Initializing Spring root WebApplicationContext 28-May-2025 21:13:20.843 涓ラ噸 [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class [org.springframework.web.context.ContextLoaderListener] org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource' defined in class path resource [spring/applicationContext.xml]: Could not resolve placeholder 'druid.initialSize' in value "${druid.initialSize}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'druid.initialSize' in value "${druid.initialSize}" at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:230) at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.processProperties(PropertySourcesPlaceholderConfigurer.java:198) at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.postProcessBeanFactory(PropertySourcesPlaceholderConfigurer.java:173) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:325) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:183) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4699) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5165) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1720) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) at sun.rmi.transport.Transport$1.run(Transport.java:200) at sun.rmi.transport.Transport$1.run(Transport.java:197) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'druid.initialSize' in value "${druid.initialSize}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239) at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210) at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:191) at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveStringValue(BeanDefinitionVisitor.java:296) at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:217) at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitPropertyValues(BeanDefinitionVisitor.java:147) at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:85) at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:227) ... 56 more 28-May-2025 21:13:20.862 淇℃伅 [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log Closing Spring root WebApplicationContext 怎么解决
05-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值