springboot项目打包后运行出现问题解决办法

1

Caused by: java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError


原因:log4j-over-slf4j.jar 和 slf4j-log4j12.jar不能同时引入,造成死循环

解决:删除pom里面的slf4j-log4j12依赖,仍然没有解决问题。这里主要是因为spring-boot-starter-logging里面引入了log4j-over-slf4j依赖,在webmagic里面又引入了slf4j-log4j12依赖。所以只能去除webmagic中的slf4j-log4j12依赖。

<!-- webmagic框架支持  -->
        <dependency>
    <groupId>us.codecraft</groupId>
    <artifactId>webmagic-core</artifactId>
    <version>0.5.2</version>
    <exclusions>  
            <exclusion>  
            <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>  
            </exclusion>  

        </exclusions>  
   
</dependency>
<dependency>
    <groupId>us.codecraft</groupId>
    <artifactId>webmagic-extension</artifactId>
    <version>0.5.2</version>
</dependency>
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>


用exclusion去除依赖中的其他依赖




2 could not initialize class

原因:我在jdbcUtil.class里面有一段静态代码,类初始化的时候会加载这端代码,这段代码主要是读取resource下的properties文件。虽然开发运行的时候是可以运行的。但是打包后文件路径发生改变,导致无法读取文件,也就无法初始化这个类。
解决办法:InputStream in = jdbcUtil.class.getResourceAsStream("/application.properties");
用这种方法去读取文件。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值