最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決IDEA無(wú)法讀取maven鏡像,jar包下載失敗的問(wèn)題

 更新時(shí)間:2020年10月21日 10:19:30   作者:紫月java  
這篇文章主要介紹了解決IDEA無(wú)法讀取maven鏡像,jar包下載失敗的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

最近從公司私服下載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)目使用公司的私服,而又沒(méi)有配置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配置的地址中下載依賴(lài)了

建議復(fù)制一個(gè)maven,里面的鏡像庫(kù)清理掉,需要下載http鏡像的時(shí)候,就將maven選中這個(gè),就不用專(zhuān)門(mén)去清理了

補(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)題代碼,粗看似乎沒(méi)什么問(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í),例如擁有接口類(lèi)型成員變量的類(lèi)。舉個(gè)栗子:

@Data
public class TypeValue {
 private Integer type;
 private List<Integer> value;
}

有上面這個(gè)類(lèi),需要把json字符串反序列化成 Map<String, TypeValue> 這樣的對(duì)象,怎么做?

可以在TypeValue這個(gè)類(lèi)中使用 @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)文章

最新評(píng)論

太保市| 哈密市| 武功县| 建水县| 三穗县| 盐池县| 达州市| 锦州市| 普定县| 巩留县| 双牌县| 昌图县| 浦江县| 岚皋县| 许昌县| 治多县| 济阳县| 望城县| 东方市| 华池县| 安溪县| 武川县| 孟连| 阳城县| 乐亭县| 巨鹿县| 晋中市| 英吉沙县| 黄浦区| 通辽市| 山阳县| 安丘市| 科技| 庄浪县| 普定县| 巢湖市| 盈江县| 息烽县| 明光市| 谷城县| 凤山市|