maven打包springboot项目不能运行的解决办法

前提是在开发工具中能正常运行,maven打包后无法运行。

打包后,进入打包文件路径

在dos下输出

java -version

显示jdk版本后,再

java -jar    xxxx.jar 

xxxx为你打包后的jar名称

解决办法有

1 在maven的pom.xml文件中,增加以下依赖

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
</parent>

2 如果是eclipse中  还要指定jdk版本, IDEA开发工具中不用指定jdk版本,但是建议 代码编译时的JDK版本与运行时保持版本一致。

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

3 检查是否有maven插件依赖,和检查 开发工具中的maven是否配置正确。

在pom.xml中

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

 4  检查打包后,检查 是否将配置文件和依赖的jar文件 同时打包。

  Idea  中将 包含 配置文件的文件夹

   右键文件    Mark Directory as   -->  Test Resources Root 

  eclipse 除了将 包含配置文件的文件夹    Build Path --->   Use  as  Source Folder 之外

  在pom.xml中,增加以下配置,确保将配置文件也同时打包。

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java/resources</directory>
<includes>
<!--包含文件夹以及子文件夹下所有资源-->
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>

如果以上问题都排查无误后,在成功打包后,仍然无法正常运行

 如果出现以下异常

Exception in thread "main" java.lang.IllegalAccessException: Class org.springframework.boot.loader.MainMethodRunner 

can not access a member of class 你的springboot主函数入口类 with modifiers "public static"

那么 说明 你的主函数入口类 没有 public 修饰

我的问题就是 主函数入口类 的修饰符 没加public


在 开发工具中 可以正常运行, 打包后 不能正常运行。


做个记录,分享给有缘人。


原文地址:https://www.cnblogs.com/javahepeng/p/11162710.html