没有主清单
根据网上的教程,总结了以下几种方法:(最终的解决方法在第四点

1、java -cp(失败,但是大家可以试试看)

相信大家在网上找的都是这个教程,具体就是:
java -cp 你的jar名称.jar 工程的main函数所在的java文件(例如com.ndd.test.DataApplication)

java -cp data.jar com.ndd.test.DataApplication

之后再运行java -jar jar文件名称.jar

java -jar data.jar

但是我遇到了
在这里插入图片描述

2、重新采取方法打包(失败,但是大家可以试试看)

参考博文 https://www.cnblogs.com/grasp/p/9491862.html
问题:打包出来在out文件夹下可以成功利用java -jar运行,但是离开此文件夹,将对应的jar文件(因为不知道为啥,我打包出了很多的jar文件,应该都是依赖jar)单独拿出来放在别的文件夹下运行就会报错:
在这里插入图片描述没错,就是一样的错误

3、加入pom文件(错误,但是大家可以试试看)

采用在pom文件中加入配置例如:


<plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>3.6.0</version>
          <configuration>
            <mainClass>com.ndd.DataApplication</mainClass>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>repackage</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

但是问题是3.6.0这个版本下没有repackage这个选项或者其他原因,repackage报红,出现错误,就算修改version中的值也是会报错(删除掉是默认下载最新版本,也是报错)
如果大家想尝试的话,mainClass中是指项目的主启动main所在类的路径(但其实我的这个也报错)

4、mvn

这个是最终解决我的问题的方法!!!!
没错,我是利用以下命令进行打包的

mvn clean package

但是需要这样进行:(在teminal中)

mvn compile

就是要先编译进来,才能把项目中的class文件加进来
之后!!!!,执行以下代码(在teminal中)

mvn package spring-boot:repackage

注意,在这之前我把修改的POM文件又修改回来了,也就是说没有增加以上的POM选项(mainclass、repackage之类的)
最后成功运行,也可以把此jar放在linux下面执行!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐