原因
对jar解压缩,可以看到有一个MANIFEST.MF文件,此文件就是jar运行时要查找的清单目录。
主清单数据,就是我们要运行的主类即程序入口,缺少主清单属性,就不知道从哪开始运行。
因此我们需要对项目进行配置,指定程序入口。
解决方案
在pom.xml文件中进行主类配置
情况1:是maven项目
<build><!-- 导出jar的名字 --><finalName>java_everything</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>gui.GUIClient</mainClass><!-- 主类的位置,根据自己的项目进行变化--></transformer></transformers></configuration></execution></executions></plugin></plugins></build>
情况2:是SpringBoot项目
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>