首页 > 其他分享 >jar运行报错no main manifest attribute

jar运行报错no main manifest attribute

时间:2024-06-14 17:56:27浏览次数:15  
标签:xml java no attribute jar 报错 标签 打包

在服务器上运行:

 

 

java -jar test-0.0.1-SNAPSHOT.jar
1
报错:

no main manifest attribute, in test-0.0.1-SNAPSHOT.jar
1
原因:
原因是找不到主类。

一般情况下,java 打包成 jar 包需要在 MANIFEST.MF 中指定 Main-Class项,以便运行 java -jar xxx.jar 时找到对应的主类。

将test-0.0.1-SNAPSHOT.jar解压后

 

查看META-INF下的MANIFEST.MF

 

而正常的应该是这样的:

 

解决:
1.检查 maven 项目中的 pom.xml 中有没有缺少如下配置,缺少的话加上

<packaging>jar</packaging>
1
2.在 pom.xml 中的 build 标签下的 plugins 标签下加入如下打包插件配置

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

 

 

 



说明:

mainClass 标签里是你的项目的启动类的包路径,如果你的项目没有有启动类也不需要通过 java -jar 运行的话可以删除 mainClass
finalName 标签里的就是打出来的 jar 名,我这里是 XTool ,最终生成的就是 XTool.jar 。若不使用 finalName 指定,则打包生成的 jar 包名默认使用 pom.xml 文件里 artifactId 标签和 version 标签里的值作为 jar 的名。
如果你希望最终生成的 jar 包不包含第三方依赖那直接用上面的插件配置即可。如果希望最终生成的 jar 包里包含第三方依赖那就删除 includes 标签及其里面的内容
3.在 idea 右边侧边栏的 Maven 选项卡里点击 Lifecyle 下的 package 就可以开始打包了

 

最终生成的 jar 包就在 target 目录下

 https://github.com/cheyunhua/newbee-mall-cloud  实验项目

如果使用这种打包方式问题任然存在,可以尝试使用 idea 来打包,可参考我另一篇文章:idea 项目代码打包为jar包详解
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_33697094/article/details/110549536

标签:xml,java,no,attribute,jar,报错,标签,打包
From: https://www.cnblogs.com/cheyunhua/p/18248382

相关文章

  • issue: java.lang.NoClassDefFoundError: javax/el/ELManager
    问题描述:Contextinitializationfailedorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'validator'definedinclasspathresource[applicationContext.xml]:Errorsettingpropertyvalues;nestedexceptioniso......
  • vscode报错
    参考——https://www.cnblogs.com/greystone/p/14062510.htmlhttps://www.cnblogs.com/WMT-Azura/p/11137972.html 具体报错: .:无法加载文件...\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlin......
  • node 相关
     查看当前NPM仓库地址npmconfiggetregistry这个命令会返回当前配置的NPM仓库URL,通常默认是 https://registry.npmjs.org/。切换到官方NPM仓库npmconfigsetregistryhttps://registry.npmjs.org/切换到淘宝NPM镜像淘宝NPM镜像是一个流行的选项,尤其是对于位于中国大......
  • 一千题,No.0064(螺旋矩阵)
    本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。输入格式:输入在第1行中给出一个正整数 ......
  • ESP8266 NodeMCU Lua 开发看这里
    最近开发ESP8266-NodeMCU因为开发过合宙4G模块,用的Lua,所以这里也用Lua。但是最开始两眼一抹黑,在网上找资料,乱七八糟,需要Lua固件库、LuaAPI文档、Lua例程、固件下载工具、IDE(Lua代码编写和下载)、串口驱动(这是常识,就不用说了)找来找去,气死我了!!!!都是介绍下工具咋使用、弄个d......
  • ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(3
    接前一篇文章:ESP-IDFOTA升级过程中遇到的“esp_transport_readreturned:-1anderrno:128”问题(2)这几天一直在和乐鑫ESP-IDF的OTA机制和工程代码较劲。自从比笔者打开蓝牙功能,使得App固件文件陡然变大之后(223KB->1567KB),原本100%可以升级成功的程序成功率突然降得很低了。......
  • 一千题,No.0063(数列的片段和)
    给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1,0.2,0.3,0.4},我们有(0.1)(0.1,0.2)(0.1,0.2,0.3)(0.1,0.2,0.3,0.4)(0.2)(0.2,0.3)(0.2,0.3,0.4)(0.3)(0.3,0.4)(0.4)这10个片段。给定正整数数列,求出全部片段包......
  • 【Java】 深入解析Java安全异常:Error - trustAnchors parameter must be non-empty
    >>【痕迹】QQ+微信朋友圈和聊天记录分析工具>>(1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。>>(2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。>>(3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。>>下载地......
  • 段错误一定是数组越界吗??写题的时候啥都没变,就改了定义结构体数组的位置就报错!!求大佬
    上题是PTA团体程序设计天梯赛--练习题上的一道题,下面是给的用例我的代码如下#include<stdio.h>typedefstruct {  floatnum;  floatprice;  floatavg;}CAKE;CAKEcake[1010];intmain(){  intN,D;     scanf("%d%d",&N,&D);......
  • Linux下编译arm64驱动代码汇编器报错
    简单来说就是错误的汇编Ir约束会导致编译器优化把这个操作数生成非法的汇编指令然后汇编器就会傻眼会报一个非常难懂的错误如下:/tmp/ccxxxxxx.s:Assemblermessages:/tmp/ccxxxxxx.s:xxx:错误:立即数越界atoperand3--'eorw3,w20,4294967295'我通过查看汇编手册发......