登录
首页 >  文章 >  java教程

SpringBoot JAR包瘦身后启动提示IllegalAccessError:如何解决代理类ClassLoader不一致问题?

时间:2024-10-31 15:54:49 253浏览 收藏

一分耕耘,一分收获!既然都打开这篇《SpringBoot JAR包瘦身后启动提示IllegalAccessError:如何解决代理类ClassLoader不一致问题?》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新文章相关的内容,希望对大家都有所帮助!

SpringBoot JAR包瘦身后启动提示IllegalAccessError:如何解决代理类ClassLoader不一致问题?

springboot jar包瘦身后启动提示 illegalaccesserror

问题描述:

springboot jar包瘦身后,使用java -jar启动报错 illegalaccesserror。

原因:

在aspectjawareadvisorautoproxycreator的postprocessafterinitialization方法中,代理类创建过程中获取的classloader与bean实际的classloader不一致,导致无法获取对应的父类。

解决方案:

去掉spring-boot-maven-plugin插件,在maven-dependency-plugin中添加main-class和outputdir配置,例如:

<configuration>
    <archive>
        <manifest>
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix>
            <useUniqueVersions>false</useUniqueVersions>
            <mainClass>com.bdip.cost.CostApplication</mainClass>
        </manifest>
    </archive>
    <outputDirectory>${boot-jar-output}</outputDirectory>
</configuration>

好了,本文到此结束,带大家了解了《SpringBoot JAR包瘦身后启动提示IllegalAccessError:如何解决代理类ClassLoader不一致问题?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>