zoukankan      html  css  js  c++  java
  • macOS系统使用Java命令运行项目,报错:target/XXX-1.0-SNAPSHOT.jar 中没有主清单属性

    在macOS系统终端输入Java命令运行项目:

    ➜   java -jar target/XXX-1.0-SNAPSHOT.jar
    target/XXX-1.0-SNAPSHOT.jar 中没有主清单属性
     
        

      —— 疯狂百度了一天,找了很多很多方法,最终主要原因是出在 pom.xml文件中,需要在此文件中指定下运行的主函数,手动定位到主类。

    由于之前运行项目都是在 IDEA直接跑某个具体的java类,所以不需要指定。但在终端使用 java命令跑就不一样了,需要指定。

    因此需要在此pom.xml文件添加以下内容:(红色部分为新添加的内容)

        <build>
            <finalName>XXX-1.0-SNAPSHOT</finalName> <!-- 导出的jar的名字 -->
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>utf-8</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.2.0</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                            <configuration>
                                <transformers>
                                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                        <mainClass>com.XXX.XXX.Run</mainClass>
                                        <!-- 主类的位置,例如上图文件,主类配置应为: -->
                                        <!-- <mainClass> import的包.运行的主函数</mainClass> -->
                                    </transformer>
                                </transformers>
                                <encoding>utf-8</encoding>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>

     添加后保存pom.xml文件,然后再次编译、运行项目,可以跑起来了,不会报 “target/XXX-1.0-SNAPSHOT.jar 中没有主清单属性 ”的错了。

    【Reference】

    1、成功解决 XXX--1.0-SNAPSHOT.jar中没有主清单属性  (采纳的是其中的解决方案2,因为方案1是Springboot项目。)

     2、使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析  (只是觉得很详细,所以贴上来,并无用到)

  • 相关阅读:
    初识Tensorboard
    sql优化的几种方法
    nginx+ffmpeg+jwplayer
    jwplayer播放器
    详解spring 每个jar的作用
    RabbitMQ安装
    Migration 使用方法
    VisualSVN server 启用日志编辑
    nodejs prefix(全局)和cache(缓存)windows下设置
    python3 eval字符串str 转字典dict
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/14445611.html
Copyright © 2011-2022 走看看