springboot项目在tomcat下启动报包冲突

配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<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>2.4.3</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.goupushop</groupId>
	<artifactId>goupushop</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>goupushop</name>
	<description>goupushop project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<!-- JdbcTemplate  -->   
    	<dependency>
	    	<groupId>org.springframework.boot</groupId>
	    	<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<!-- 移除嵌入式tomcat插件 -->
			<exclusions> 
	    		<exclusion>                 
	            	<groupId>org.springframework.boot</groupId> 
	        		<artifactId>spring-boot-starter-tomcat</artifactId> 
	    		</exclusion> 
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework.session</groupId>
			<artifactId>spring-session-jdbc</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
      		<groupId>org.mybatis.spring.boot</groupId>
      		<artifactId>mybatis-spring-boot-starter</artifactId>
      		<version>2.1.4</version>
    	</dependency>
		<dependency>
        	<groupId>commons-logging</groupId>
        	<artifactId>commons-logging</artifactId>
        	<version>1.2</version>
		</dependency>
		<dependency>
        	<groupId>log4j</groupId>
        	<artifactId>log4j</artifactId>
        	<version>1.2.17</version>
		</dependency>
		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
        <!-- protobuf依赖-->
		<dependency>
    		<groupId>com.google.protobuf</groupId>
    		<artifactId>protobuf-java</artifactId>
    		<version>3.6.0</version>
		</dependency>
		<dependency>
    		<groupId>com.googlecode.protobuf-java-format</groupId>
    		<artifactId>protobuf-java-format</artifactId>
    		<version>1.2</version>
		</dependency>
		<!-- 配置servlet,打war包时放开 -->
		<dependency>
    		<groupId>javax.servlet</groupId>
    		<artifactId>javax.servlet-api</artifactId>
    		<version>3.1.0</version>
    		<scope>provided</scope>
		</dependency>
		
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

报错信息:

org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'log' for bean class [com.mysql.cj.log.Log] conflicts with existing, non-compatible bean definition of same name and class [com.alibaba.druid.support.logging.Log]
	at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:349) ~[spring-context-5.3.4.jar:5.3.4]
	at org.mybatis.spring.mapper.ClassPathMapperScanner.checkCandidate(ClassPathMapperScanner.java:310) ~[mybatis-spring-2.0.6.jar:2.0.6]
	at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:287) ~[spring-context-5.3.4.jar:5.3.4]
	at org.mybatis.spring.mapper.ClassPathMapperScanner.doScan(ClassPathMapperScanner.java:204) ~[mybatis-spring-2.0.6.jar:2.0.6]
	at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.scan(ClassPathBeanDefinitionScanner.java:254) ~[spring-context-5.3.4.jar:5.3.4]
	at org.mybatis.spring.mapper.MapperScannerConfigurer.postProcessBeanDefinitionRegistry(MapperScannerConfigurer.java:375) ~[mybatis-spring-2.0.6.jar:2.0.6]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) ~[spring-context-5.3.4.jar:5.3.4]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:142) ~[spring-context-5.3.4.jar:5.3.4]
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:745) ~[spring-context-5.3.4.jar:5.3.4]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:563) ~[spring-context-5.3.4.jar:5.3.4]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.3.jar:2.4.3]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) ~[spring-boot-2.4.3.jar:2.4.3]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[spring-boot-2.4.3.jar:2.4.3]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) ~[spring-boot-2.4.3.jar:2.4.3]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) ~[spring-boot-2.4.3.jar:2.4.3]
	at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:173) ~[spring-boot-2.4.3.jar:2.4.3]
	at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:153) ~[spring-boot-2.4.3.jar:2.4.3]

这应该是IOC里面的Bean名称冲突了。意思是,有俩Bean的名字都叫做Log。试试看修改包的扫描路径,忽略其中一个log试试看。

上面有说明是bean冲突,检查一下是否为出现bean重名
然后也有说明是哪两个jar包的依赖问题,可以尝试删除其中一个,或者修改依赖版本信息进行

是有提示,但是这些包都是springboot框架自己的包,是自动打包的,怎么删除呢,或者怎么修改依赖关系呢,第一次用这个框架,不是太懂,谢谢指教

怎么修改呢,请指导一下,谢谢

你试试看删除这个依赖

<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
</dependency>

还有,你的spring-boot-starter-jdbc导入了2次。

按照你提示的,把其中一个spring-boot-starter-jdbc去掉了,同时把commons-logging这个也删除掉了,但是还是不行的,一样的错误

还有别的处理尝试办法吗?

检查发现里druid-1.1.10.jar和mysql-connector-java-8.0.23.jar确实有相同名字的类,不知道这个处理呢
org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name ‘log’ for bean class [com.mysql.cj.log.Log] conflicts with existing, non-compatible bean definition of same name and class [com.alibaba.druid.support.logging.Log]