jar中没有主清单属性

时间:2018-05-28 13:44:17   收藏:0   阅读:8896

使用eclipse结合maven的创建springboot项目,在eclipse中发布没问题,但通过mvn install 打成 jar包,在命令行中运行报错如下

技术分享图片

查看该jar包的 MANIFEST.MF 文件内容如下,很明显没有启动类(运行java -jar xxx.jar时会根据主清单属性找到启动类,从而启动程序),也没有相应的主清单属性。

技术分享图片

出现此问题一般是由于在pom.xml中少引用了一个插件

<build>
   <plugins>  
       <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
       </plugin>
   </plugins>
</build>

这个插件其实我已经添加,但是添加时是直接在自动生成的pom.xml代码里添加,添加的该<plugin>上上级标签还存在一个<pluginManagement>

<bulid> 
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
    <plugins>      
       <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>3.0.0</version>
         </plugin>
     ······ </plugins> </pluginManagement> </bulid>

 可以推断原因为<pluginManagement>标签的某种机制导致该插件没有被成功引用,尝试为该插件添加版本号,重新生成,不成功;将<pluginManagement>标签去除之后,mvn clean ——>右键maven——>Update Project,再重新生成jar包,成功。生成jar包 MANIFEST.MF 文件内容如下:

技术分享图片

几个主清单属性解释如下:

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!