我想依赖另一个私有 bitbucket 存储库。 我想要从中获取依赖项的项目中的 pom.xml 是:
<groupId>xyz</groupId>
<artifactId>name</artifactId>
<version>1.0.0-SNAPSHOT</version>
.
.
.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>com.name.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
以及我想使用此依赖项的项目的 pom.xml:
<dependency>
<groupId>xyz</groupId>
<artifactId>name</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
.
.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>com.xyz2.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
.
.
<repositories>
<repository>
<id>bitbucket</id>
<name>Bitbucket Packages</name>
<url>https://path/bitbucket/projects/project/repos/xyz</url>
</repository>
</repositories>
在我的 Maven settings.xml 中我有:
<server>
<id>bitbucket</id>
<username>my_username</username>
<password>my bitbucket access token</password>
</server>
我希望我的依赖项正确构建的 xyz 项目,当然,当我将它放在我的 .m2 中时,它可以工作,但如果没有,我有:
Downloading from bitbucket: https://adress/projects/repos/xyz/package/x-y-z/1.0.0-SNAPSHOT/maven-metadata.xml
[WARNING] Checksum validation failed, expected <!DOCTYPE but is 8e9cdf40db76398363fb5de98a80e7f185f9527b from bitbucket for https://adress/projects/repos/xyz/package/x-y-z/1.0.0-SNAPSHOT/maven-metadata.xml
[WARNING] Could not validate integrity of download from https://adress/projects/repos/xyz/package/x-y-z/1.0.0-SNAPSHOT/maven-metadata.xml
org.eclipse.aether.transfer.ChecksumFailureException: Checksum validation failed, expected <!DOCTYPE but is 8e9cdf40db76398363fb5de98a80e7f185f9527b
我也尝试过这个版本的settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<pluginGroups/>
<proxies />
<servers>
<server>
<id>bitbucket</id>
<username>username</username>
<password>accesstoken</password>
</server>
</servers>
<mirrors/>
<localRepository>/path/.m2</localRepository>
</settings>
Maven 客户端在尝试从远程存储库下载校验和文件时似乎遇到了问题。日志表明返回的内容以 开头
要解决此问题,您可以通过访问以下 URL 手动检查校验和文件:
https://address/projects/repos/xyz/package/x-y-z/1.0.0-SNAPSHOT/maven-metadata.xml.sha1
请将 https://address 替换为您的存储库的实际地址。通过访问此 URL,您可以验证 .sha1 文件的内容。如果内容看起来不是有效的 SHA-1 校验和,则可能意味着存储库配置错误或托管存储库的服务器存在问题。
值得注意的是,这种情况不应导致构建过程失败,因为 Maven 默认将校验和验证问题视为警告,而不是错误。
如果问题仍然存在,请考虑检查远程存储库的配置或联系存储库的支持人员以获得进一步帮助。