程序开发 · 2023年6月13日

Springboot Jar包瘦身后启动提示IllegalAccessError:原因及如何解决?

Springboot Jar包瘦身后启动提示IllegalAccessError:原因及如何解决?

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《Springboot Jar包瘦身后启动提示IllegalAccessError:原因及如何解决?》,很明显是关于文章的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

springboot jar包瘦身后启动提示 illegalaccesserror 原因及解决方法

瘦身后jar包启动提示illegalaccesserror错误,原因可能是jar包中的类无法访问其父类,这是由于类加载器不一致造成的。

解决方法:

  1. 去掉spring-boot-maven-plugin插件

    去掉spring-boot-maven-plugin插件,直接使用maven-dependency-plugin进行jar包瘦身。

  2. 添加main-class和outputdir配置

    在maven-dependency-plugin的配置中,添加main-class和outputdir配置,指定main类和jar包输出目录。例如:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <archive>
                <manifest>
                    <addClasspath>true</addClasspath>
                    <classpathPrefix>lib/</classpathPrefix>
                    <useUniqueVersions>false</useUniqueVersions>
                </mainClass>
                <mainClass>com.example.MainClass</mainClass>
                </manifest>
            </archive>
            <outputDirectory>${boot-jar-output}</outputDirectory>
        </configuration>
    </plugin>

该方法可以确保jar包中的类使用正确的类加载器,从而解决illegalaccesserror错误。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注公众号,一起学习编程~