记一次android打包,因路由规则设置不合理而导致pom文件无法访问的错误

news2024/11/22 9:40:58

一、错误详情

在这里插入图片描述
在这里插入图片描述

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':mediaplayer:compileReleaseAidl'.
> Could not resolve all task dependencies for configuration ':mediaplayer:releaseCompileClasspath'.
   > Could not resolve com.aliyun.sdk.android:AliyunPlayer:5.4.6.0-full.
     Required by:
         project :mediaplayer
      > Could not resolve com.aliyun.sdk.android:AliyunPlayer:5.4.6.0-full.
         > Could not parse POM http://192.168.xx.xx:8081/repository/public/com/aliyun/sdk/android/AliyunPlayer/5.4.6.0-full/AliyunPlayer-5.4.6.0-full.pom
            > Already seen doctype.
      > Skipped due to earlier error

下载这个pom文件,可以看到它变成了html网页。

而正确的pom文件,应该是xml格式的文本。

二、问题排查

同样的座标,存在重复的包。

在这里插入图片描述

  • 错误的包
    在这里插入图片描述
    在这里插入图片描述

查看pom详情
在这里插入图片描述

This page contains the following errors:
error on line 1 at column 27: AttValue: " or ' expected
Below is a rendering of the page up to the first error.
  • 正确的包

在这里插入图片描述

在这里插入图片描述

查看pom详情

在这里插入图片描述

三、错误原因

1、问题分析

错误的pom文件地址是:http://192.168.xx.xx:8081/repository/spring-releases/com/aliyun/sdk/android/AliyunPlayer/5.4.6.0-full/AliyunPlayer-5.4.6.0-full.pom

正确的pom文件地址是:http://192.168.xx.xx:8081/repository/proxy_aliyun_nexus/com/aliyun/sdk/android/AliyunPlayer/5.4.6.0-full/AliyunPlayer-5.4.6.0-full.pom

对比二者的pom文件,可以发现以下不同:

  • 时间不同:错误的Pom文件为最近缓存,正确的则是在去年甚至更早
  • 上传者不同:错误的Pom文件为5.23机器,是最近打包的机器。
  • 仓库Repository不同:错误的Pom文件其仓库为spring-releases,正确的则是proxy_aliyun_nexus

可以初步得出的结论是:

  • 5.23机器在gradle打包的时候,没有走期望的仓库proxy_aliyun_nexus,而是spring-releases。

2、仓库spring-releases

配置了一个路由规则,见下:
在这里插入图片描述

什么是路由规则
Routes are like filters you can apply to groups in terms of security access and general component retrieval. They can be used to reduce the number of repositories within a group accessed in order to retrieve a component. For more information, check the documentation.

查看路由详情
在这里插入图片描述
在这里插入图片描述
BLOCK:
When a matcher compares with the request path, the request is blocked.

ALLOW:
When a matcher compares with the request path, the request is allowed.

3、解决办法

  • 去掉仓库spring-releases的路由规则

在这里插入图片描述

  • 修改路由规则

在这里插入图片描述

四、总结

nexus的路由规则还是慎用,个人建议是不需要使用。

起初是想要禁用nexus的swagger,拒绝访问接口“/service/rest/swagger.json”。
想通过路由规则来禁用swagger,无意间捅马蜂窝了,导致android打包的时候,pom全部无法访问。

于是出现了上文的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1888538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编译原理必考大题:构造项目集规范族,构造LR(0)分析表

在学习项目集规范族的构造之前,要先知道什么是项目?什么是项目集的闭包运算? 文章目录 前置知识LR(0)项目项目集的闭包运算项目转换函数GO 构造项目集规范族解决方法 构造LR(0)分析表真题实战: 前置知识 LR(0)项目 项目就是规则加上’’ 例如一条规则,A→abc 它对应的项目就…

【C++】开源:命令行解析库CLI11配置与使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍命令行解析库CLI11配置与使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#x…

智能改写工具大比拼:5款免费工具帮你告别重复内容

写作人员在创作文章时,经常面临着展现知识深度和创新思维的双重挑战。 在此过程中难免会遇到内容重复或灵感不足的问题。但不必过于焦虑。文章智能改写工具可以成为你的得力助手,帮你克服大部分写作难题。 接下来,让我们一起探索那些备受推…

重生奇迹mu精灵之心怎么搭配

玩家可以通过召唤来召唤多种精灵之心,每种精灵之心增加的属性也不同。精灵之心的作用是为了提升各种各样的属性。我们可以通过召唤获得精灵之心,前面的解锁费用较低,而后面的解锁需要大量的金币来解锁。 召唤精灵之心后,我们可以…

ROS2 rosbag2记录仪

rosbag2类似于行车记录仪,录制一段话题数据,录制完成后可以多次发布出来进行测试和实验,也可以将话题数据分享给别人用于验证算法等。 1.启动talker服务 ros2 run demo_nodes_cpp talker 2.记录话题数据 chatter ros2 bag record /chatte…

STL的六大组件

一.总体概念 STL(Standard Template Library,标准模板库)是C标准库的一部分,提供了丰富且高效的数据结构和算法。STL主要由六大组件组成,它们是: 容器(Containers):STL提…

AIGC文生图lora微调训练案例;SD-Train界面训练stable Diffusion lora模型

lora仓库(1000多个lora微调模型分享): https://lorastudio.co/models 参考: https://huggingface.co/blog/lora https://github.com/huggingface/diffusers/blob/main/examples/text_to_image/train_text_to_image_lora.py http…

UMI 命令行手册

Translate to English 命令行手册: README_CLI.mdHTTP接口手册: README_HTTP.md 命令行手册 基础说明 命令行调用入口就是主程序 Umi-OCR.exe 。如果你使用的是备用启动器(如UmiOCR-data/RUN_GUI.bat),可能无法使用…

【TS】TypeScript 原始数据类型深度解析

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 TypeScript 原始数据类型深度解析一、引言二、基础原始数据类型2.1 boolean2.2 …

推荐系统三十六式学习笔记:原理篇.MAB问题|16|简单却有效的Bandit算法

目录 推荐就是选择MAB问题Bandit算法1.汤普森采样算法2.UCB算法3.Epsilon贪婪算法4.效果对比 冷启动总结 推荐系统的使命就是建立用户和物品之间的连接。建立连接可以理解成;为用户匹配到最佳的物品;但也有另一个理解就是,在某个时间某个位置为用户选择最…

彩虹PLM系统:电子制造业的高效协同平台

彩虹PLM系统:电子制造业的高效协同平台 在当今竞争激烈的电子制造业中,企业亟需一种能够整合全生命周期数据、促进跨部门协同并提升生产效率的解决方案。彩虹PLM系统,作为产品生命周期管理的佼佼者,凭借其卓越的技术实力和丰富的行…

前端基础--Vue3

Vue3基础 VUE3和VUE2的区别 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece 于 2022 年 2 月 7 日星期一成为新的默认版本! Vue3性能更高,初次渲染快55%, 更新渲染快133% 。体积更小 Vue3.0 打包大小减少41%。 同时Vue3可以更好的支持T…

AI 影评生成

电影作为一种重要的艺术形式,承载着无穷的想象力和情感表达。它不仅是娱乐的载体,更是一面照亮人性、社会和历史的镜子。通过电影,观众可以体验不同的世界、感受各种情感,甚至找到共鸣和启发。在这个充满多样性和创意的电影世界中…

自养号测评:引领跨境电商新纪元的策略与实践

在跨境电商的浩瀚蓝海中,自养号测评如同一股不可忽视的潮流,正悄然重塑着行业的未来。这一策略通过精心培育海外买家账号,不仅有效规避了服务商测评的诸多风险,更成为众多卖家提升产品销量与口碑的黑科技运营武器。 核心科技&…

支付宝服务商支付,如何邀请商户入驻?

支付宝服务商支付:如何邀请商户入驻 一、支付宝服务商支付 支付宝服务商支付模式为商户带来了诸多优势。它能够整合多种支付方式,包括扫码支付、刷脸支付、线上支付等,满足不同消费者的支付习惯。同时,提供了强大的财务管理功能…

【MindSpore学习打卡】应用实践-计算机视觉-ShuffleNet图像分类:从理论到实践

在当今的深度学习领域,卷积神经网络(CNN)已经成为图像分类任务的主流方法。然而,随着网络深度和复杂度的增加,计算资源的消耗也显著增加,特别是在移动设备和嵌入式系统中,这种资源限制尤为突出。…

数据结构(JAVA)—代码题

01-数据结构—判断题 02-数据结构—选择题 03 数据结构—多选填空程序填空 ​ 01-顺序表的建立及遍历 import java.util.Iterator; import java.util.LinkedList; import java.util.ListIterator; import java.util.Scanner;public class Main {public static void main(St…

有哪些好的 Stable Diffusion 提示词(Prompt)可以参考?

Docker 作图咒语生成器 docker-prompt-generator 是一个开源项目,可以利用模型反推出提示词,让你偷偷懒,无需琢磨怎么写prompt,只需要找一个差不多的模型反推一下,直接用就好了,支持支持 MidJourney、Stab…

《Linux开发笔记》C语言编译

C语言编译过程 编译过程主要分为四步:预处理、编译、汇编、链接 预处理:主要用于查找头文件、展开宏 编译:把.i文件编译成.s文件 汇编:把.s文件汇编为.o文件 链接:把多个.o文件链接成一个app 以上四个步骤主要由3个命…

颅内感染性疾病患者就诊指南

颅内感染性疾病,即病原体侵入中枢神经系统,导致脑部或脑膜发生炎症的疾病。这些病原体可能是细菌、病毒、真菌或寄生虫等。颅内感染不仅会对脑组织造成损害,还可能引发一系列严重的并发症,如癫痫发作、意识障碍等 颅内感染性疾病的…