Eclipse Aether не разрешает `LATEST` правильно

Eclipse Aether, похоже, не вернет правильный выпуск, когда я пытаюсь разрешить LATEST версию:

 val artifact = DefaultArtifact("org.testng:testng:LATEST") val versionResult = system.resolveVrsion(session, VersionRequest(artifact, repositories, null)) println(versionResult) 

производит:

 6.9.8 @ maven (https://jcenter.bintray.com/, default, releases+snapshots) 

Тем не менее, 6.9.10 является последним, и JCenter сообщает об этом правильно, как в каталоге, так и в maven-metadata.xml :

 <metadata> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.10</version> <versioning> <latest>6.9.10</latest> <release>6.9.10</release> 

Почему я получаю 6.9.8 вместо 6.9.10 ?

Есть две вещи, которые могут стать причиной вашей проблемы. Сначала вы предполагаете, что волшебное слово LATEST поддерживается эфиром, и если я правильно помню (и, глядя в код эфира, он не поддерживается). Это означает, что вы должны использовать диапазон версий, чтобы получить последнюю версию.

Кроме того, если у вас есть диапазон версий, вам нужно вызвать resolveVersionRange(...) вместо resolveVersion(..) .

  String versionRange = "[0,)"; Artifact artifact = new DefaultArtifact( "org.testng:testng:jar:" + versionRange ); VersionRangeRequest rangeRequest = new VersionRangeRequest(); rangeRequest.setArtifact( artifact ); rangeRequest.setRepositories( remoteRepos ); VersionRangeResult rangeResult = repository.resolveVersionRange( repositorySystemSession, rangeRequest ); List<Version> versions = rangeResult.getVersions(); 

Вышесказанное представляет собой слегка измененную версию, взятую из плагина, который я написал. Существует также ctor DefaultArtifact, который содержит только подходящие параметры, которые могут быть лучшей альтернативой использованию, а не конкатенации строк.

Intereting Posts
Неразрешенная ссылка при ссылке на Java-код из тестов Kotlin в проекте Spring Boot с использованием Gradle Запрос разрешения во время выполнения не работает Kotlin lateinit свойства, опасность NPE? Почему этот способ случайного создания графика несправедлив? Выбранный в настоящее время отладчик Java не поддерживает точки останова типа «Точки останова линии Котлин», Android – Сделать функцию ложной / не запускать Класс отсутствует конструктор без аргументов, но я предоставил конструктор без аргументов Kotlin не может получить доступ к kotlin.jvm.functions.Function1 при вызове функции kotlin с java lambda У kotlin coroutines есть асинхронный вызов с таймером? Как преобразовать изображение в bytearray в kotlin Как получить страну пользователя для HTTP-запроса в бэкэнд? В Kotlin Как я могу преобразовать Int? к Int Как установить кодировку источника Kotlin в Gradle? Gradle sinc не удалось с расширением kotlin. для строки ввода: "" в файле build.gradle file module (app) Две параллельные строки заменяются в строке kotlin