1. 程式人生 > >IDEA下報 SpringBoot Configuration Annotation Processor not found in classpath解決方案

IDEA下報 SpringBoot Configuration Annotation Processor not found in classpath解決方案

一:問題背景.(環境:IDEA 2018 2.5的版本,SpringBoot 1.5.10.RELEASE的版本)

     在使用 @ConfigurationProperties(prefix = "")批量注入application.properties時屬性配置時報紅色.關鍵是無法獲取到自動義的屬性值.獲取結果直接為null.

     

    看上去很不舒服,決定去掉它.

   

    不顯示通知面板

這樣修改後測試了一下還是獲取不到的屬性值的.這樣只是關閉了通知面板,不顯示錯誤提示資訊了.和獲取值其實並沒有關係,還是要從根本上解決問題嘛.

解決方案是pom.xml檔案裡面新增如下配置.

<!-- 自定義的元資料依賴->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-configuration-processor</artifactId>
   <optional>true</optional>
</dependency>

這次執行可以獲取到自定義的屬性值了.

使用@value獲取到不到屬性值的可能.

       1. 修飾符使用了static final修改.2 要注入的類使用了new建立例項.

二 實用功能小插曲播放.

1. 看下面這個多行顯示程式碼,.檢視多行程式碼很方便的.新版的IDEA預設是開啟的.我現在使用的是IDEA 2018 2.5的版本.

    

2. IDEA預設是區分大小下的,輸入小寫不會提示大寫對應的類.現在修改一下可以提示的配置.也就是去掉大小寫區分.

修改前的樣子:

修改後的樣子:

3. IDEA修改Maven預設全域性配置.

    每次新建一個Maven專案,都會初始化預設的,IDEA自帶Maven外掛,修改使用我們自己安裝的Maven.可以到IDEA的安裝目錄看

  

點進入看一看.

就會將下載的jar包放在我們預設的路徑下,Windows下比如C盤.導致系統盤不斷變小的.所以修改使用我們自己安裝的Maven,修改setting設定localRepository為其他可用碟符比較好.

預設的配置:

修改後的配置:

4. 新版本的IDEA使用Lombok的@Data註解無效,獲取不到相應的get和set方法的解決方案.

   由於自己升級了IDEA 由原來的2017 3.4升級至2018 2.5的,一部分外掛沒有來的及更新,導致找不到了.

<!-- lombok-->
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.16.18</version>
</dependency>

如果覺得是低版本的jar包依賴問題,還可以修改為最新或者是次新版的依賴就可以解決問題了.同樣的道理在Eclipse開發工具裡面也是一樣的解決方式.

同樣在這個解決過程中可以抽取出一個解決模式:XXX外掛之前能用,現在升級了IDE後,發現不可用了,首先是升級相應的外掛為最新版本的,其次引入依賴修改為相應比較新的版本,一般均可以解決問題的.