springboot專案編譯時,使用自定義註解類找不到符號
阿新 • • 發佈:2021-06-18
Java專案編譯時,使用自定義註解類找不到符號
Spring-boot專案
編輯器:idea
問題:編譯時找不到符號。專案中用到了自定義註解類。編輯器不提示語法有錯誤
/** * 限制每個ip對每個方法的訪問限制,加上時間限制 */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface REQUEST_IP_LIMIT { /** * 時間型別,預設毫秒 * @return */ TimeUnit timeUnit() default TimeUnit.MILLISECONDS ; /** * 多長時間內限制,預設 60 * @return */ long t () default 60; /** * 單位時間內能訪問多少次,預設10次 * @return */ int count () default 10; }
解決方法:找到程式碼的目錄,發現REQUEST_IP_LIMIT檔案不是java檔案的,而是aj檔案。初步認為是IDE生成的時候判斷是切面,修改了格式,然而編輯器能夠識別,Maven卻不能識別!導致編譯的時候找不到對應的class檔案。修改後綴名 .aj 為 .java 成功解決問題。