1. 程式人生 > >springboot2整合swagger2出現guava包下的FluentIterable.append方法找不到。

springboot2整合swagger2出現guava包下的FluentIterable.append方法找不到。

先說明下這個錯誤,它是指com.google.common.collect.FluentIterable這個類下的append方法找不到,而這裡引用的是guava16.0.1版本的jar包。出現這個錯誤後我很奇怪為什麼會抱這一個錯,檢視maven依賴發現:

是swagger下面依賴的Jar包,我這裡的swagger依賴是:

            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.9.2</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.9.2</version>
            </dependency>

但是當我只使用springboot2+swagger2的時候,是沒有這個錯誤的,後來我集成了springcloud的Finchley版本,也沒有這個錯,

而當我把client單獨提出來作為一個module的時候,這個錯誤就出現了,我的專案目錄結構是:

後來上網查了資料,說更新一下guava的jar為最新的就行,然後我在maven中新增依賴:

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>26.0-jre</version>
            </dependency>

重新整理下maven,發現swagger的依賴也改變了:

搜這個類的append方法:

ok,是有的;然後我這裡啟動專案就成功了。

這個錯誤也是醉了,因為我在使用springboot2+springcloud(Finchley)+swagger2的時候並沒有報這個錯,但是當我僅僅把client提出來的時候就出現了,我也沒搞清楚是怎麼回事,先把這個錯誤記下來吧,有知道是什麼原因的朋友也請指導下。