背景
我使用的是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中的依赖项都不起作用
1条答案
按热度按时间5tmbdcev1#
回答
看起来maven-s3-wagon与java11的配合不太好。我把maven-s3-wagon换成了aws-maven-wagon,它解决了我的问题
前车
新货车