jar包运行时提示jar中没有主清单属性如何解决

作者:有用网 阅读量:515 发布时间:2024-01-10
关键字 jar包

这篇文章主要介绍“jar包运行时提示jar中没有主清单属性如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jar包运行时提示jar中没有主清单属性如何解决”文章能帮助大家解决问题。

    jar包运行时提示jar中没有主清单属性

    jar包运行时提示jar中没有主清单属性如何解决

    解决办法

    在pom文件中添加

    <build>
            <!--打包成jar包时的名字-->
            <finalName>cloud-provider-payment8002</finalName>
            <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>

    之后执行mvn install,编译,打包,此时再执行java -jar就可以正常启动程序了

    运行jar包报“XXX中没有主清单属性”

    报错原因

    打包后的jar文件中的

    MANIFEST.MF
    缺少项目启动项,即没有
    Main-Class
    ,如下:

    jar包运行时提示jar中没有主清单属性如何解决

    jar包运行时提示jar中没有主清单属性如何解决

    解决方案

    1、指定MANIFEST.MF路径

    项目打包前:

    第一步 file&ndash;>project structure 弹框后选中Atifacts&mdash;> + ---->jar---->from module with dependenceis

    第二步 选择一个Main Class,然后指定META-INF/MANIFEST.MF的路径为src下(注意不要放到main/java目录下,否则打成的jar中META-INF/MANIFEST.MF不含有Main-Class信息)

    jar包运行时提示jar中没有主清单属性如何解决

    jar包运行时提示jar中没有主清单属性如何解决

    如果这个方案不行,那就很有可能是另一个原因

    2、项目pom.xml文件中添加插件spring-boot-maven-plugin

    jar包运行时提示jar中没有主清单属性如何解决

    3、修改后重新生成jar包

    结果如下:

    jar包运行时提示jar中没有主清单属性如何解决

    相关常用命令汇总

    在linux下启动或关闭jar包服务

    启动:进入到jar包对应的文件夹,执行

    nohup java -jar xxx.jar &
    命令

    关闭:

    • 先查出对应的PID:执行命令

      ps -aux
    • kill命令关闭对应的PID:执行命令

      kill
      对应的
      jar包
      PID

    实时查看日志命令:进入到对应的日志目录下面,执行

    tail -f xx.log
    命令,停止退出,执行
    ctrl+c

    #发表评论
    提交评论