久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

解決IDEA無法讀取maven鏡像,jar包下載失敗的問題

瀏覽:9日期:2024-08-08 08:57:59

最近從公司私服下載jar包一直失敗,之前的解決方法是手動(dòng)下載項(xiàng)目,自己打包來解決的,最近忍無可忍,自己研究了o(???)o.

原因

idea現(xiàn)在的版本要求maven的鏡像必須是https的,而之前的配置的鏡像都是http的,所以鏡像加載失敗了,讀取的是maven默認(rèn)的倉庫,所以下不下來.

我為什么要手賤升級(jí),明明18年版的也可以用的o(???)o

解決

設(shè)置https庫

國內(nèi)的鏡像基本都有https版本了(公司的就要公司自己配置了),設(shè)置一下

<!--阿里倉庫--> <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

解決IDEA無法讀取maven鏡像,jar包下載失敗的問題

在項(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>

解決IDEA無法讀取maven鏡像,jar包下載失敗的問題

清理settings.xml中的鏡像地址

不知道什么原因,雖然配置了上面的,但是我settings.xml的配置還會(huì)影響,必須將里面的自定義的鏡像全部清理掉

解決IDEA無法讀取maven鏡像,jar包下載失敗的問題

此時(shí)刷新maven,就能從在pom配置的地址中下載依賴了

建議復(fù)制一個(gè)maven,里面的鏡像庫清理掉,需要下載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字符串反序列化為List時(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: [ ......

找到問題代碼,粗看似乎沒什么問題?

List<MyObject> objectList = objectMapper.readValue(jsonString, new TypeReference<List<MyObject>>() {}); //jsonString是個(gè)json對象的數(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對象的數(shù)組

其實(shí),有一種比較老派的反序列化為List的方式...

List<MyObject> objectList = Arrays.asList(objectMapper.readValue(jsonString, MyObject[].class)); //jsonString是個(gè)json對象的數(shù)組

當(dāng)對一些較復(fù)雜的對象進(jìn)行反序列化時(shí),例如擁有接口類型成員變量的類。舉個(gè)栗子:

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

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

可以在TypeValue這個(gè)類中使用 @JsonCreator 注解解決。

@Datapublic 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)換為List。因此可以用以上方法繞過Jackson的限制。

以上使用了guava和lombok。

好了就介紹到這,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: IDEA
主站蜘蛛池模板: 禄劝| 宜良县| 桂平市| 江安县| 宝清县| 襄汾县| 萨迦县| 印江| 永寿县| 仙居县| 和田县| 三台县| 辽阳市| 五台县| 贵南县| 灌南县| 东城区| 荥经县| 平陆县| 郓城县| 凤台县| 永定县| 监利县| 盐亭县| 孟州市| 建始县| 嘉禾县| 治多县| 南投市| 噶尔县| 哈密市| 都兰县| 夹江县| 绥棱县| 喀喇沁旗| 方山县| 尼木县| 浏阳市| 紫云| 吉安县| 嘉义县|