Maven项目中使用dubbox中报错A child container failed during start。Failed to start component [StandardEngine[T

今天看品优购项目视频做一个dubbox的入门小demo。在做服务提供方的时候,遇到了一个tomcat启动报错的问题。
A child container failed during start.
Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer

再输入tomcat7:run命令后,tomcat死活启动不了,报错。
上网找了许多资料,说是dubbox依赖中的依赖了servlet-api这个jar包。

我在eclipse项目中的Libraries–》Mave dependencies中有一个javax.servlet-api-3.1.0.jar
在这里插入图片描述
**

但是网上给出的解决方案都是这样的:

**
通过在命令行执行:mvn dependency:tree看看是哪个间接依赖了servlet-api,在pom中排除下就可以了

		<exclusions>
				<exclusion>
					<groupId>javax.servlet</groupId>
					<artifactId>servlet-api</artifactId>
				</exclusion>
			</exclusions>	

然而在dubbox依赖中加入这句代码后,Libraries–》Mave dependencies中的avax.servlet-api-3.1.0.jar并没有消失
**

这时我把上面的代码中的servlet-api中的servlet-api前加上javax.,即javax.servlet-api 问题就解决掉了。。

**

使用IDEA运行Maven插件时,出现"A child container failed during start"错误通常有几个可能的原因。首先,您可以检查请求路径是否没有加斜杆"/",如果没有加,使用Tomcat 7插件启动时可能会出现该错误。此外,您还可以查看您的pom.xml文件的`<scope>provided</scope>`是否正确设置为provided。如果这些检查没有解决问题,可能是由于环境问题或Maven配置问题导致的。例如,可能是您的Maven仓库路径在settings没有正确配置,或者是阿里云或私服配置不正确。这可能会导致无法下载所需的jar包,进而导致"clean"失败。另外,如果您使用远程桌面,还需要确保正确配置了相关设置。 此外,关于`<scope>provided</scope>`的使用,它是一种依赖范围(scope)的设置。compile是默认的scope,表示该依赖在整个项目的生命周期都可以使用,并会传递到依赖的项目。而provided也类似于compile,但是表示该依赖由JDK或容器提供,例如Servlet API和一些Java EE API。provided只在编译和测试阶段起作用,没有传递性。 总结来说,如果在IDEA运行Maven插件时出现"A child container failed during start"错误,您可以先检查请求路径是否正确,然后确认pom.xml的`<scope>provided</scope>`设置是否正确。如果问题仍然存在,您可以进一步检查环境配置和Maven设置,确保路径和依赖的配置正确。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值