java报错冲突问题

报错冲突问题

这几天遇到个不太好看的问题,在本地linux上是能正常运行的,在uos的linux上报错问题

报错如下:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'getServletRegistrationBean9' defined in class path resource [cn/myapps/conf/MyappsMvcConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.servlet.ServletRegistrationBean]: Factory method 'getServletRegistrationBean9' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.commons.logging.LogFactory.getClassLoader(Ljava/lang/Class;)Ljava/lang/ClassLoader;

找了很久,发现包冲突的问题

仔细看:
nested exception is java.lang.NoSuchMethodError: org.apache.commons.logging.LogFactory.getClassLoader

这句话是方法LogFactory类里面没找到getClassLoader方法
在linux报错如图:

在idea上发现很多org.apache.commons.logging.LogFactory包

在这里插入图片描述

去obpm-runtime.war包的lib去看,减少选择范围

在这里插入图片描述

发现在这个spring-jcl-5.0.9.RELEASE.jar包没有对应的getClassLoader方法

在这里插入图片描述

在commons-logging-1.2.jar包里有getClassLoader方法

在这里插入图片描述

弄断点发现的确有走commons-logging-1.2.jar的方法

没有走spring-jcl-5.0.9.RELEASE.jar的任何方法

试过在uos的tomcat把这个包去除,可正常运行

现在要在maven里把spring-jcl-5.0.9.RELEASE.jar去除

到指定obpm-core包,用命令mvn dependency:tree查看包所在路径

[INFO] +- org.springframework:spring-test:jar:5.0.9.RELEASE:test
[INFO] |  \- org.springframework:spring-core:jar:5.0.9.RELEASE:compile
[INFO] |     \- org.springframework:spring-jcl:jar:5.0.9.RELEASE:compile

去到对应的位置里

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
	<exclusions>
		<exclusion>
			<!--与 commons-logging-1.2.jar有冲突 导致uos跑不起来-->
			<groupId>org.springframework</groupId>
			<artifactId>spring-jcl</artifactId>
		</exclusion>
	</exclusions>
	<scope>test</scope>
</dependency>

runtime可正常启动

在这里插入图片描述

signon可正常启动

在这里插入图片描述

从图中有报错,但不影响运行

kms可正常启动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oiICFmLl-1584780815367)(https://i.loli.net/2020/03/04/gkWHoAMaDUK53jG.png)]

不明白的原因:

为什么uos会跑到spring-jcl-5.0.9.RELEASE.jar方法里,有些linux是正常的

参考连接:

https://blog.csdn.net/weixin_40686853/article/details/87923574
发布了20 篇原创文章 · 获赞 0 · 访问量 68

猜你喜欢

转载自blog.csdn.net/qq_42745404/article/details/105012735
今日推荐