今天在編寫一個簡單spi 應用demo的時候,在編譯時總有一個其餘的錯誤,以下:java
ERROR Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project userloginspi: Fatal error compiling: java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.toImmutableSet()Ljava/util/stream/Collector; -> [Help 1] (org.apache.maven.cli.MavenCli:1091)
由於這個插件一直使用 ,並且相似的代碼也寫過不可能出問題的,首先懷疑的是maven 工具,可是發現沒問題,這個錯誤的提示其實是一個guava 包版本的問題,可是項目依賴的guava 已經包含功能了,並且很高了,嘗試過如下幾個調試apache
通常放置三方jar 包到java 的ext 目錄,仔細閱讀下jar包實現的功能吧,否則排查起來問額就太費事了,折騰了好幾個小時,還好最後解決了。
一個經驗教訓:不要輕易在java ext 目錄聽任何三方jar包maven