JAVA Spring工程一些配置问题的解决

问题一:

启动存在WARN日志,不影响应用启动,但飘红也让人比较烦躁,排查原因是项目目录下缺失了属性配置文件,新增文件log4j.properties即可,日志如下:

log4j:WARN No appenders could be found for logger

(org.springframework.context.support.ClassPathXmlApplicationContext).

log4j:WARN Please initialize the log4j system properly.

问题二:

启动报错,日志:

Caused by: org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 46; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'dubbo:application' 的声明。

排查原因,缺失了dubbo的依赖,新增依赖即可。类似问题,无法找到相关元素的声明,同样可检查jar包依赖的情况

问题三:

引用log4j包冲突,启动报错,导致无法启动,日志:

Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path。

确实是存在这两个包,是由于间接依赖引入的。然后蛋疼了:

1.保留log4j-over-slf4j.jar,剔除log4j12,启动时报类找不到的错误。

2.保留log4j12,剔除log4j-over-slf4j.jar,报找不到方法错误:

java.lang.NoSuchMethodError: org.springframework.beans.BeanUtils.instantiateClass

 

最后经过排查,第二种情况是由于dubbo依赖的spring版本过低导致,剔除即可,dubbo依赖中exclude掉spring:
compile ("com.alibaba:dubbo:2.5.3"){
    exclude
group: 'org.springframework',module: 'spring’
}

 

 

原文地址:https://www.cnblogs.com/fanshao2016/p/6481071.html