突然,在 GitLab 中运行 Maven 3.9.5,并在项目中本地安装了缓存的 .m2 存储库,我收到以下消息:
[INFO] Artifact XXX 存在于本地存储库中,但已缓存 来自当前版本中不可用的远程存储库 ID 上下文,验证是否可以从 [central (https://repo.maven.apache.org/maven2,默认,发布)]
它始终检查的工件位于公共存储库之一(central、jboss 等)中,甚至不是全部 - 只有少数,但足以使日志变得混乱。
我似乎没有采取任何措施来解决这个问题。我已经看到您可能能够删除 .m2 文件夹中的“远程存储库”文件,但我不希望对其进行操作。仅当在 GitLab 作业中使用本地 .m2 安装的存储库运行时,我才在本地获取此信息。
我尝试过的事情:
<repository/>
中删除
pom.xml
mvn -U
有趣的是,如果在收到消息后立即启动另一个管道构建,我会看不到看到该记录的消息,因此它甚至不会一致发生。
settings.xml 的示例:
<settings>
<!-- Servers -->
<servers>
<server>
<id>companya</id>
<username>companya-dev</username>
<password>PASSWORD</password>
</server>
<server>
<id>companya-projects</id>
<username>companya-dep</username>
<password>PASSWORD</password>
</server>
<server>
<id>companya-releases</id>
<username>companya-dep</username>
<password>PASSWORD</password>
</server>
<server>
<id>companya-snapshots</id>
<username>companya-dev</username>
<password>PASSWORD</password>
</server>
<server>
<id>oss</id>
<username>USERNAME</username>
<password>PASSWORD</password>
</server>
</servers>
<profiles>
<profile>
<id>companya</id>
<repositories>
<repository>
<id>companya</id>
<url>https://companya.com/repository/maven-public</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
<repository>
<id>companya-projects</id>
<url>https://companya.com/repository/maven-projects/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
<repository>
<id>companya-releases</id>
<url>https://companya.com/repository/maven-releases/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>companya-snapshots</id>
<url>https://companya.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
<profile>
<id>oss</id>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>PASSWORD</gpg.passphrase>
</properties>
</profile>
</profiles>
<!-- Active Profile -->
<activeProfiles>
<activeProfile>companya</activeProfile>
</activeProfiles>
<!-- Plugin Groups -->
<pluginGroups>
<pluginGroup>org.sonatype.plugins</pluginGroup>
</pluginGroups>
</settings>
无论出于何种原因,这似乎解决了问题(主要是因为我偶尔会收到 1 或 2 个相同的警告?)。
我也可以在本地复制它,但在我自己的存储库中进行操作
settings.xml
并得到相同的警告。
我将 Maven Central 第 1 个添加到我的存储库列表中,并将我们自己的公共存储库放在最后。介于两者之间的是发布和快照存储库:
<repositories>
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>