碼迷,mamicode.com
首頁 > 編程語言 > 詳細

jar中沒有主清單屬性

時間:2018-05-28 13:44:17      閱讀:6592      評論:0      收藏:0      [點我收藏+]

標簽:ima   using   內容   eclips   may   右鍵   mvn   結合   strong   

使用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 文件內容如下:

技術分享圖片

幾個主清單屬性解釋如下:

  • Main-Class:代表了Spring Boot中啟動jar包的程序
  • Start-Class:屬性就代表了Spring Boot程序的入口類,這個類中應該有一個main方法
  • Spring-Boot-Classes:代表了類的路徑,所有編譯后的class文件,以及配置文件,都存儲在該路徑下
  • Spring-Boot-Lib:表示依賴的jar包存儲的位置

 

jar中沒有主清單屬性

標簽:ima   using   內容   eclips   may   右鍵   mvn   結合   strong   

原文地址:https://www.cnblogs.com/zjfjava/p/9099302.html

(0)
(0)
   
舉報
評論 一句話評論(0
登錄后才能評論!
? 2014 mamicode.com 版權所有 京ICP備13008772號-2
迷上了代碼!
25选5历史开奖结果百度