spring boot中不能識別RestController的原因及xxxxxx.jar中沒有主清單屬性


  1. clean 和 install都不好使,后來查了一下更新pom文件就好了
  2. 使用intellj idea,用maven-> reimport 更新下依賴包。
  3. Invalidate and restart 重啟下。
  4. -----
  5. 把jar包解壓到文件夾下查看,其中META-INF文件夾下有一個MANIFEST.MF文件,該文件指明了程序的入口以及版本信息等內容

 

  Main-Class代表了Spring Boot中啟動jar包的程序
  Start-Class屬性就代表了Spring Boot程序的入口類,這個類中應該有一個main方法
  Spring-Boot-Classes代表了類的路徑,所有編譯后的class文件,以及配置文件,都存儲在該路徑下
  Spring-Boot-Lib表示依賴的jar包存儲的位置
  這些值都是SpringBoot打包插件會默認生成的,如果沒有這些屬性,SpringBoot程序自然不能運行,就會報錯:jar中沒有主清單屬性,也就是說沒有按照SpringBoot的要求,生成這些必須的屬性

 

  解決辦法:
  在pom中添加一個SpringBoot的構建的插件,然后重新運行 mvn install即可。

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>
在運行mvn install的時候,自動生成這些主清單屬性,運行java -jar xxx.jar時會根據主清單屬性找到啟動類,從而啟動程序。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM