maven中的校验和验证失败,因为部分文件使用java 11

axzmvihb  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(451)

背景

我使用的是Java11.0.3、maven 3.6.2和com.github.seahen.maven-s3-wagon1.3.1。
我使用s3存储桶作为maven存储库。我有一个名为dbclasses的内部jar工件。我使用 mvn source:jar deploy .
我有一个不同的maven项目secapps,它使用dbclasses工件。下面是与s3 bucket和secapps pom文件中的工件相关的配置

<repositories>
    <repository>
        <id>maven.nuvalence.repo.release</id>
        <url>s3://ec-appdev-mvn-repo/release</url>
    </repository>
    <repository>
        <id>maven.nuvalence.repo.snapshot</id>
        <url>s3://ec-appdev-mvn-repo/snapshot</url>
    </repository>
</repositories>

<build>
    <extensions>
        <extension>
            <groupId>com.github.seahen</groupId>
            <artifactId>maven-s3-wagon</artifactId>
            <version>1.3.1</version>
        </extension>
    </extensions>
</build>

<dependencies>
    <dependency>
        <groupId>edu.excelsior</groupId>
        <artifactId>dbclasses</artifactId>
        <version>0.0.1</version>
    </dependency>
</dependencies>

发行

每当我跑步的时候 mvn clean package 在secapps上,它抛出以下警告

[INFO] Downloading from maven.nuvalence.repo.release: s3://ec-appdev-mvn-repo/release/edu/excelsior/dbclasses/0.0.1/dbclasses-0.0.1.pom
[INFO] Logged in - ec-appdev-mvn-repo
[INFO] Downloading: s3://ec-appdev-mvn-repo/release/edu/excelsior/dbclasses/0.0.1/dbclasses-0.0.1.pom
[INFO] Downloading: s3://ec-appdev-mvn-repo/release/edu/excelsior/dbclasses/0.0.1/dbclasses-0.0.1.pom.sha1
[WARNING] Checksum validation failed, expected  but is 38790b95f185a41908a1767ae2ad2b5bfe436773 from maven.nuvalence.repo.release for s3://ec-appdev-mvn-repo/release/edu/excelsior/dbclasses/0.0.1/dbclasses-0.0.1.pom
[INFO] Downloading: s3://ec-appdev-mvn-repo/release/edu/excelsior/dbclasses/0.0.1/dbclasses-0.0.1.pom
[INFO] Downloading: s3://ec-appdev-mvn-repo/release/edu/excelsior/dbclasses/0.0.1/dbclasses-0.0.1.pom.sha1
[WARNING] Could not validate integrity of download from s3://ec-appdev-mvn-repo/release/edu/excelsior/dbclasses/0.0.1/dbclasses-0.0.1.pom: Checksum validation failed, expected  but is 38790b95f185a41908a1767ae2ad2b5bfe436773
[WARNING] Checksum validation failed, expected  but is 38790b95f185a41908a1767ae2ad2b5bfe436773 from maven.nuvalence.repo.release for s3://ec-appdev-mvn-repo/release/edu/excelsior/dbclasses/0.0.1/dbclasses-0.0.1.pom
[INFO] Downloaded from maven.nuvalence.repo.release: s3://ec-appdev-mvn-repo/release/edu/excelsior/dbclasses/0.0.1/dbclasses-0.0.1.pom (4.7 kB at 2.8 kB/s)
[INFO] Logged off - ec-appdev-mvn-repo

您会注意到,它说校验和验证失败,但预期是38790b95f185a41908a1767ae2ad2b5bfe436773
换句话说,期望的校验和是38790b95f185a41908a1767ae2ad2b5bfe436773,但是您给我的是空的。
因此,我查看了本地存储库,并看到以下内容

对于每个文件,您将注意到以下两件事
对于pom和jar文件,有一个相关的.part文件
.part文件包含所有数据,但实际文件中的非文件为空
如果重命名.part文件以删除.partx,则一切正常。但由于某些原因,每次我尝试构建它时,它都会保留.part文件,而将普通文件保留在0k

问题

这些.part文件是什么?为什么我的普通文件是0k?如何解决此问题?

尝试

我试过很多东西,包括
从本地存储库手动删除依赖项
将依赖项重新部署到s3
将checksumpolicy设置为warning
将updatepolicy设置为always
然而,这些似乎都不起作用。有人有解决办法吗?maven central的所有其他依赖项都很好。s3中的依赖项都不起作用

5tmbdcev

5tmbdcev1#

回答

看起来maven-s3-wagon与java11的配合不太好。我把maven-s3-wagon换成了aws-maven-wagon,它解决了我的问题
前车

<extension>
    <groupId>com.github.seahen</groupId>
    <artifactId>maven-s3-wagon</artifactId>
    <version>1.3.1</version>
</extension>

新货车

<extension>
    <groupId>com.github.platform-team</groupId>
    <artifactId>aws-maven</artifactId>
    <version>6.0.0</version>
</extension>

相关问题