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的要求,生成這些必須的屬性java

 

  解決辦法:
  在pom中添加一個SpringBoot的構建的插件,而後從新運行 mvn install便可。spring

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

maven

相關文章
相關標籤/搜索