云效这个问题怎么解决?知道是不是maven缓存的事情,我现在maven库里的包是automation-1.0-20231030,但是拉下来的是automation-1.0-20231027,拉取命令用的是mvn org.apache.maven.plugins:maven-dependency-plugin:3.6.0:get -Dartifact=com.jmc.api:automation:1.0-SNAPSHOT,我换了一个构建集群后又能拉到最新的版本,
根据你的描述,问题可能是由于Maven的本地仓库缓存了旧的版本,导致在拉取依赖时总是获取到旧版本的jar包。你可以尝试以下方法来解决这个问题:
mvn dependency:list -Dincludes=com.jmc.api:automation:1.0-SNAPSHOT
mvn dependency:purge-local-repository -Dincludes=com.jmc.api:automation:1.0-SNAPSHOT
~/.m2/settings.xml
),添加以下配置:<settings>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Nexus public mirror</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
</mirrors>
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>localhost</host>
<port>3128</port>
<username></username>
<password></password>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
</proxies>
<pluginGroups>
...
</pluginGroups>
<profiles>
...
</profiles>
<activeProfiles>
...
</activeProfiles>
</settings>
这样可以将所有的依赖都指向Maven官方仓库,避免因为私有仓库的问题导致的版本冲突。
-U
参数重新下载依赖:在运行Maven构建任务时,可以添加-U
参数来强制Maven重新下载依赖。例如:mvn clean install -U
通过以上方法,应该可以解决你遇到的问题。
公共构建集群可以直接在这里清除缓存:
私有构建机的话,清理缓存比较麻烦,建议您在SNAPSHOT中迭代jar包。如果在release仓库迭代了,一定要删除缓存,建议您复制一下当前的流水线,在新的流水线里构建,因为私有构建机删除缓存非常麻烦。此回答整理自钉群“云效交付域答疑群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。