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
在 开发工具中 可以正常运行, 打包后 不能正常运行。
做个记录,分享给有缘人。
maven打包springboot项目不能运行的解决办法的更多相关文章
- 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)
写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...
- 使用maven 打包springboot项目步骤以及所遇到的问题
1.首先必须确保java和maven是安装好的,并且环境变量配置正确 2.接着可以看一下我们项目中的pom.xml中的以下配置 packaging那里很关键,表示我们打包项目的类型,可以为jar 也可 ...
- maven打包springboot项目的插件配置概览
jar包的术语背景: normal jar: 普通的jar,用于项目依赖引入,不能通过java -jar xx.jar执行,一般不包含其它依赖的jar包. fat jar: 也叫做uber jar,是 ...
- Jenkins 集成Maven打包SpringBoot项目并自动部署到Tomcat服务器
提前条件: 1.在Jenkins服务器上安装Git.JDK和Maven 2.准备另一台服务器并安装Tomcat 3.Gitlab服务器 4.Gitlab仓库中上传SpringBoot项目代码 第一步, ...
- 【IDEA】IDEA创建Maven的Web项目并运行以及打包
0.IDEA集成Maven并设置Maven的配置 idea15之后的版本,都自带了maven插件,idea14貌似需要自己安装,方法也很简单:File->Settings->Plugin ...
- gradle 打包springboot项目,找不到项目jar application.class
如题:gradle 打包springboot项目,找不到项目jar入口main方法:application.class 检查:lib/目录下没有相应项目的jar包 用gradle命令行查看日志:gra ...
- 利用Jenkins实现jdk11+Maven构建springboot项目
目录 原理图 前期准备 Jdk11安装 Jenkins安装 Maven安装 Jenkins的设置 插件安装 变量配置 搭建项目 1.通用配置 2.源码管理 3.构建触发 4.Maven的构建选项 5. ...
- Windows Server 2008 任务计划无法自动运行的解决办法
问题:编写的bat脚本,直接执行,成功:但是在任务管理器中配置该任务,运行不成功,结果显示为:0x1,系统环境为 Windows Server 2008. 分析:bat任务没有调用执行. 解决方案: ...
- Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 的解决办法
eclipse导入mavn工程报Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 的解决办法: 错 ...
- [经验] 新版SkyIAR、Easy Image X在有些PE里不能运行的解决办法
[经验] 新版SkyIAR.Easy Image X在有些PE里不能运行的解决办法 xxwl2008 发表于 2013-1-26 11:58:38 https://www.itsk.com/threa ...
随机推荐
- Windows下Mariadb中文乱码问题
win10 在命令行使用Mariadb出现无法插入中文 并且之前正确插入的中文也无法正常显示了 ERROR 1366 (22007): Incorrect string value: '\xB1\xB ...
- 时钟同步服务器ntp安装文档
应用场景 同步时钟很有必要,如果服务器的时间差过大会出现不必要的问题 大数据产生与处理系统是各种计算设备集群的,计算设备将统一.同步的标准时间用于记录各种事件发生时序, 如E-MAIL信息.文件创建和 ...
- [LeetCode]数组拆分 I
题目 代码 class Solution { public: int arrayPairSum(vector<int>& nums) { std::sort(nums.begin( ...
- [cocos2d-x]判断两个矩形是否有交叉区域
bool Rect::intersectsRect(const Rect& rect) const { return !( getMaxX() < rect.getMinX() || r ...
- 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 PY32F0系列上市其实相 ...
- 结构性模式 - 适配器模式Adapter
学习而来,代码是自己敲的.也有些自己的理解在里边,有问题希望大家指出. 模式的定义与特点 适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不 ...
- UEditor采坑指南
1.版本选择 GitHub上的最新版(1.5)没有提供后端代码.想要后端代码可以下载历史版本(1.4.3.3). 1.5版本:https://github.com/fex-team/ueditor 1 ...
- Node.js学习笔记----day04
认真学习,认真记录,每天都要有进步呀!!! 加油叭!!! 一.Express 原生的http在某些方面上不足以满足我们的开发需求,所以我们需要使用框架来提高我们的开发效率,框架的目的就是提高开发效率, ...
- ASP.NET6 + Mongo + OData
准备工作 Docker环境 Mongo数据库 配置Mongo数据库 ASP.NET6 集成Mongo 安装MongoDB.Driver { "Logging": { "L ...
- 真正“搞”懂HTTP协议13之HTTP2
在前面的章节,我们把HTTP/1.1的大部分核心内容都过了一遍,并且给出了基于Node环境的一部分示例代码,想必大家对HTTP/1.1已经不再陌生,那么HTTP/1.1的学习基本上就结束了.这两篇文章 ...