登录
首页 >  文章 >  java教程

SpringBoot Jar 包瘦身后启动提示 IllegalAccessError 如何解决?

时间:2024-11-02 11:28:05 474浏览 收藏

本篇文章向大家介绍《SpringBoot Jar 包瘦身后启动提示 IllegalAccessError 如何解决?》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

SpringBoot Jar 包瘦身后启动提示 IllegalAccessError 如何解决?

springboot jar包瘦身后启动提示 illegalaccesserror 的解决方案

当 springboot jar 包瘦身后,通过 java -jar 启动时,可能会遇到 java.lang.illegalaccesserror 错误。这个问题的原因通常是由于类加载器不一致导致的。

导致类加载器不一致的原因可能是 maven-jar-plugin 插件配置不当

要解决此问题,可以采取以下步骤:

  1. 移除 spring-boot-maven-plugin 插件。
  2. maven-dependency-plugin 插件中添加 main-classoutputdir 配置。

修改后的 maven-dependency-plugin 配置如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
                <useUniqueVersions>false</useUniqueVersions>
            </manifest>
        </archive>
        <!-- 指定输出 jar 目录 -->
        <outputDirectory>${boot-jar-output}</outputDirectory>
        <!-- 指定 main class -->
        <mainClass>com.example.demo.DemoApplication</mainClass>
    </configuration>
</plugin>

通过上述配置,可以确保 maven-jar-plugin 正确打包所需的依赖并设置适当的 main class 和输出目录,从而解决类加载器不一致的问题。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

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