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 和输出目录,从而解决类加载器不一致的问题。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容