关于Maven打包后Jar包运行报错 XXX.jar找不到主清单属性的问题
方法一:普通Maven项目
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--mainclass是我们的入口类,选择各个模块下的启动类的地址-->
<mainClass>org.uto.demo.SsoDemoApp</mainClass>
</configuration>
</plugin>
</plugins>
</build>
方法二:SpringBoot中的Maven项目
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.dependencies.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
方法三:没验证过仅供参考
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>你自己的启动类</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
问题原因:
通过查看Jar包发现在Jar包中的MANIFEST.MF文件缺少Main-Class的信息,jar包运行时会根据这个查找启动类,一般的Maven没有配置的话会出现这个问题,直接使用方法一配置就行,
但如果是我们使用自定义节点的话配置Maven插件的方法也是没有用的,这样就需要进行其他配置,这部分没遇到暂不考虑(工作时间,摸鱼最重要)。
不过这方面的有需要的话可以参考 这个链接

浙公网安备 33010602011771号