1.问题背景

在使用SpringBoot架构搭建父子工程时,使用IDEA可以正常启动,但打成jar包后使用jar方式启动时,会报错xx.jar中没有主清单属性。

2.原因分析

原因主要是在使用jar方式启动时,没有指定Main-Class,导致启动时找不到主方法,使得SpringBoot项目无法启动。

尝试解压jar包,进入META-INF目录,查看MANIFEST.MF文件,里面确实没有指定Start-Class和Main-Class

3.解决方案

指定Main-Class即可。

在子工程的pom.xml文件中添加配置

    <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

主要是使用goal来指定需要重新打包。作用是在原始Maven打包形成的jar包基础上,进行重新打包,新形成的jar包不但包含应用类文件和配置文件,而且还会包含应用所依赖的jar包以及Springboot启动相关类,以此来满足Springboot独立应用的特性。

java -jar启动时报错:xx.jar中没有主清单属性的更多相关文章

  1. 执行jar包报错:udfFull.jar中没有主清单属性

    在windows系统的cmd命令行窗口中执行: java -jar udfFull.jar {"movie":"1287","rate":& ...

  2. xxx.jar或者xxx.war中没有主清单属性和spring-boot-maven-plugin的作用

    因为springboot本身集成了tomcat插件,所以我们可以直接使用mvn clean package命令打成jar包或者war包,然后使java -jar xxx.jar 或者 java -ja ...

  3. eclipse maven .jar中没有主清单属性

    报错环境: windows系统eclipse maven 打包jar包后, 运行 java -jar 报错 E:\My_java\mysql\target>java -jar original- ...

  4. xxx.jar 中没有主清单属性

    springboot  中是可以通过 jar 将整个项目打包成一个fat jar 的, 这个大家都知道. <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 --&g ...

  5. 启动SpringBoot的可执行jar 报错:target\spring-boot-hello-1.0-SNAPSHOT.jar中没有主清单属性

    打包成功,但是在执行时报错,没有主清单属性 解决: 增加红框内的依赖: <build> <plugins> <plugin> <groupId>org. ...

  6. Idea导出jar包运行报错:找不到主清单属性解决方法

    解决方法 1.打开项目结构 2.创建一个Artifact 3.设置 我这里使用的maven,所以有resources文件夹 4.创建lib文件夹 右键output diretory,选择创建文件夹,名 ...

  7. java -jar .jar中没有主清单属性

    pom里加上 <build> <plugins> <plugin> <groupId>org.springframework.boot</grou ...

  8. jar中没有主清单属性

    在导出jar时指定主类位置 或手动配置jar包中的MANIFEST.MF文件: 添加Main-Class: gui 参考: JAVA环境变量 CLASSPATH .;%JAVA_HOME%\lib\d ...

  9. 解决Maven 编译出的jar中没有主清单属性

    出现这个问题的原因是 pom 中没有添加主程序入口 在配置中添加如下配置 <plugin> <groupId>org.apache.maven.plugins</grou ...

  10. idea jar 中没有主清单属性

    idea 中maven需要有插件 <build> <plugins> <plugin> <groupId>org.springframework.boo ...

随机推荐

  1. java checkbox

    简介 checkbox code /* * @Author: your name * @Date: 2020-11-04 09:44:08 * @LastEditTime: 2020-11-04 09 ...

  2. Day13 备战CCF-CSP练习

    Day 13 题目描述 题目分析 大模拟,用栈储存每一个多项式,最后根据导数的加法原则依次求导相加,注意取模. C++代码 #pragma GCC optimize(3, "Ofast&qu ...

  3. SSL证书和域名不匹配咋解决?

    SSL证书域名不匹配问题是一个常见的网络安全问题,通常会导致浏览器显示安全警告,影响用户的信任度和网站的正常使用.本文将详细探讨SSL证书域名不匹配的原因,并提供一系列解决方案,帮助网站管理员快速有效 ...

  4. go学习笔记:Go 语言中的 fmt.Sprintf的用法

    sprintf 是 C 语言中的字符串格式化函数,在 Go 语言中对应的是 fmt.Sprintf.以下是详细用法: Go 语言中的 fmt.Sprintf 基本语法 fmt.Sprintf(form ...

  5. js reduce函数基本知识和应用

    javascript中,使用forEach map遍历数组比较多   reduce函数平时用的比较少 const str = '12' const obj = {} Array.from(str).r ...

  6. OAuth2.0系列之信息Redis存储实践(七)

    @ 目录 1.文章前言介绍 2.典型例子实践 3.功能简单测试 OAuth2.0系列博客: OAuth2.0系列之基本概念和运作流程(一) OAuth2.0系列之授权码模式实践教程(二) OAuth2 ...

  7. C++ 模板参数推导问题小记

    ↑↑↑↑↑↑↑↑ 问题代码 最近遇到一个模板参数推导的问题,代码如下: 代码 template<typename T> using scalar = std::enable_if_t< ...

  8. kicad 开源项目的编译

    1.安装MSYS2 MSYS2 项目为编译 KiCad 所需的所有依赖项提供了包,点击该按钮下载安装程序 安装完成后,运行 MSYS2 安装路径中的 msys2_shell.cmd 文件,并运行命令  ...

  9. MyEMS:重塑能源管理,驱动高效节能新变革

    在全球能源结构加速转型.节能减排成为共识的当下,能源管理的效率与精准度愈发受到重视. MyEMS 作为一款集数据采集.分析.监控与优化于一体的智慧能源管理系统,正凭借其强大的功能与灵活的适配性,成为企 ...

  10. MyEMS 开源能源管理系统:赋能双碳目标的能源数字化基础设施

    一.系统核心价值与技术基底​ MyEMS 作为行业标杆级开源能源管理系统,依托 Python 语言构建的高可扩展性技术框架,实现了能源管理全流程的数字化覆盖.其核心能力涵盖工厂.商业建筑.大型商场.数 ...