打包后的jar包执行时提示没有主清单属性,解压jar包后查看MANIFEST.MF文件,如下:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: 86131
Created-By: Apache Maven 3.6.3
Build-Jdk: 1.8.0_381
缺少Main-Class和Start-Class,无法运行。
pom.xml文件中指示了mainclass参数,无效。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.***Application</mainClass>
<skip>true</skip>
<layout>JAR</layout>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
在project structrue中,Artifacts添加JAR也无用
终于,还是pom文件的问题,对maven的参数属性不够了解,其实很简单。把skip设置成false就行了。
如下:
再重新打包,jar包中的MANIFEST.MF文件如下:
Manifest-Version: 1.0
Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx
Archiver-Version: Plexus Archiver
Built-By: 86131
Spring-Boot-Layers-Index: BOOT-INF/layers.idx
Start-Class: com.*****Application
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Version: 2.6.13
Created-By: Apache Maven 3.6.3
Build-Jdk: 1.8.0_381
Main-Class: org.springframework.boot.loader.JarLauncher
jar包可以运行了!!!!终于,搞了我一下午(灬ꈍ ꈍ灬)