解決IDEA無(wú)法讀取maven鏡像,jar包下載失敗的問(wèn)題
最近從公司私服下載jar包一直失敗,之前的解決方法是手動(dòng)下載項(xiàng)目,自己打包來(lái)解決的,最近忍無(wú)可忍,自己研究了o(╥﹏╥)o.
原因
idea現(xiàn)在的版本要求maven的鏡像必須是https的,而之前的配置的鏡像都是http的,所以鏡像加載失敗了,讀取的是maven默認(rèn)的倉(cāng)庫(kù),所以下不下來(lái).
我為什么要手賤升級(jí),明明18年版的也可以用的o(╥﹏╥)o
解決
設(shè)置https庫(kù)
國(guó)內(nèi)的鏡像基本都有https版本了(公司的就要公司自己配置了),設(shè)置一下
<!--阿里倉(cāng)庫(kù)--> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>https://maven.aliyun.com/repository/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>huaweicloud</id> <mirrorOf>*</mirrorOf> <url>https://mirrors.huaweicloud.com/repository/maven/</url> </mirror>
再到默認(rèn)的maven設(shè)置中為VM添加
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
在項(xiàng)目中強(qiáng)制導(dǎo)入
公司的項(xiàng)目使用公司的私服,而又沒有配置https的話,就要自己處理一下了.
在項(xiàng)目的pom中添加地址
<repositories> <repository> <id>nexus</id> <name>nexus</name> <url>http://xxxxx/content/groups/public/</url> <!--私服地址--> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
清理settings.xml中的鏡像地址
不知道什么原因,雖然配置了上面的,但是我settings.xml的配置還會(huì)影響,必須將里面的自定義的鏡像全部清理掉
此時(shí)刷新maven,就能從在pom配置的地址中下載依賴了
建議復(fù)制一個(gè)maven,里面的鏡像庫(kù)清理掉,需要下載http鏡像的時(shí)候,就將maven選中這個(gè),就不用專門去清理了
補(bǔ)充知識(shí): 解決 Jackson反序列化 Unexpected token ... , expected VALUE_STRING: need JSON String that contains type id (for subtype of ...)
首先檢查是否是 objectMapper.enableDefaultTyping(); 的受害者。優(yōu)先考慮刪除該配置。
使用Jackson把數(shù)組的json字符串反序列化為L(zhǎng)ist時(shí)候報(bào)了個(gè)JsonMappingException。
java.lang.UnsupportedOperationException: com.fasterxml.jackson.databind.JsonMappingException: Unexpected token (START_OBJECT), expected VALUE_STRING: need JSON String that contains type id (for subtype of java.util.List) at [Source: [ ......
找到問(wèn)題代碼,粗看似乎沒什么問(wèn)題?
List<MyObject> objectList = objectMapper.readValue(jsonString, new TypeReference<List<MyObject>>() {}); //jsonString是個(gè)json對(duì)象的數(shù)組
注意到異常信息“need JSON String that contains type id (for subtype of java.util.List)”。想了一會(huì)兒,好吧,有答案了。
List<MyObject> objectList = objectMapper.readValue(jsonString, new TypeReference<ArrayList<MyObject>>() {}); //jsonString是個(gè)json對(duì)象的數(shù)組
其實(shí),有一種比較老派的反序列化為L(zhǎng)ist的方式...
List<MyObject> objectList = Arrays.asList(objectMapper.readValue(jsonString, MyObject[].class)); //jsonString是個(gè)json對(duì)象的數(shù)組
當(dāng)對(duì)一些較復(fù)雜的對(duì)象進(jìn)行反序列化時(shí),例如擁有接口類型成員變量的類。舉個(gè)栗子:
@Data public class TypeValue { private Integer type; private List<Integer> value; }
有上面這個(gè)類,需要把json字符串反序列化成 Map<String, TypeValue> 這樣的對(duì)象,怎么做?
可以在TypeValue這個(gè)類中使用 @JsonCreator 注解解決。
@Data public class TypeValue { private Integer type; private List<Integer> value; @JsonCreator //為Jackson提供構(gòu)造函數(shù) public TypeValue(@JsonProperty("type") final Integer type, @JsonProperty("value") final int[] value) { this.type= type; this.value = Ints.asList(value); } }
Jackson能夠把[]數(shù)組轉(zhuǎn)換為L(zhǎng)ist。因此可以用以上方法繞過(guò)Jackson的限制。
以上使用了guava和lombok。
好了就介紹到這,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MybatisPlus 連表查詢、邏輯刪除功能實(shí)現(xiàn)(多租戶)
這篇文章主要介紹了MybatisPlus 連表查詢、邏輯刪除功能實(shí)現(xiàn)(多租戶),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-12-12Spring集成Druid連接池及監(jiān)控配置的全過(guò)程
java程序很大一部分要操作數(shù)據(jù)庫(kù),為了提高性能操作數(shù)據(jù)庫(kù)的時(shí)候,有不得不使用數(shù)據(jù)庫(kù)連接池,下面這篇文章主要給大家介紹了關(guān)于Spring集成Druid連接池及監(jiān)控配置的相關(guān)資料,需要的朋友可以參考下2021-09-09玩轉(zhuǎn)spring boot MVC應(yīng)用(2)
玩轉(zhuǎn)spring boot,如何快速搭建一個(gè)MCV程序?這篇文章為大家詳細(xì)主要介紹了一個(gè)MCV程序的快速搭建過(guò)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01一篇文章帶你搞定 springsecurity基于數(shù)據(jù)庫(kù)的認(rèn)證(springsecurity整合mybatis)
這篇文章主要介紹了一篇文章帶你搞定 springsecurity基于數(shù)據(jù)庫(kù)的認(rèn)證(springsecurity整合mybatis),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Spring Security UserDetails實(shí)現(xiàn)原理詳解
這篇文章主要介紹了Spring Security UserDetails實(shí)現(xiàn)原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Java SpringBoot Validation用法案例詳解
這篇文章主要介紹了Java SpringBoot Validation用法案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09Spring ApplicationListener監(jiān)聽器用法詳解
這篇文章主要介紹了Spring ApplicationListener監(jiān)聽器用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11spring中IOC控制反轉(zhuǎn)依賴注入和new對(duì)象的區(qū)別說(shuō)明
這篇文章主要介紹了spring中IOC控制反轉(zhuǎn)依賴注入和new對(duì)象的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02