Я использую Java 11.0.3, Maven 3.6.2 и com.github.seahen.maven-s3-wagon 1.3.1.
Я использую ведро s3 в качестве репозитория maven. У меня есть внутренний артефакт jar, называемый dbclasses. Я развертываю dbclasses в репозиторий s3 maven, используя mvn source:jar deploy
.
У меня есть другой проект maven под названием secapps, в котором используется артефакт dbclasses. Вот соответствующая конфигурация, связанная с корзиной s3 и артефактом в pom-файле secapps.
<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, но вы дали мне пустую.
Итак, я посмотрел на локальный репозиторий и вижу следующее
Вы заметите следующие две вещи для каждого файла
Если файлы .part переименовать, чтобы удалить .partXXXX, все работает нормально. Но по какой-то причине каждый раз, когда я пытаюсь собрать, он сохраняет файлы .part и оставляет обычные файлы в 0K.
Что это за файлы .part и почему у моих обычных файлов 0K? Как решить эту проблему?
Я пробовал много вещей, включая
Однако ни один из них, похоже, не работает. У кого-нибудь есть решение для этого? Все остальные зависимости от центра Maven тянутся нормально. Ни одна из зависимостей от s3 не работает
Похоже, что maven-s3-wagon плохо работает с Java 11. Я заменил вагон maven-s3-wagon на вагон aws-maven, и это решило мою проблему.
Приора универсал
<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>
Вы можете использовать последнюю версию Seahen S3 Wagon 1.3.3, потому что предыдущие версии Seahen Wagon не работают должным образом с новейшими версиями Java. А также вам нужно добавить подходящую зависимость для правильной работы этого вагона. Добавьте следующий вагон и зависимость в pom.xml, удалите все предыдущие сборки в m2, а также файл github в m2 и попробуйте перезагрузить проект. Это решит проблему.
фургон
<extension>
<groupId>com.github.seahen</groupId>
<artifactId>maven-s3-wagon</artifactId>
<version>1.3.3</version>
</extension>
Зависимость
<dependency>
<groupId>com.github.seahen</groupId>
<artifactId>maven-s3-wagon</artifactId>
<version>1.3.3</version>
</dependency>
Для дальнейшего ознакомления перейдите по этим ссылкам
Я также пробовал с aws-maven wagon. Но это работало не во всех сценариях. Он загружает артефакты, но в некоторых случаях .jar отсутствовал. И это не завершило загрузку с s3