проблема с разрешением библиотеки apache math4 в scala

#scala #build #sbt

Вопрос:

Я создал простой проект Scala для использования с зависимостью apache commons-math4. Содержимое файла build.sbt выглядит следующим образом.

 name := "math4test"
version := "0.1"
scalaVersion := "3.0.2"

resolvers  = ("apache_snapshots" at "https://repository.apache.org/content/repositories/snapshots/").withAllowInsecureProtocol(true)
libraryDependencies  = "org.apache.commons" % "commons-math4" % "4.0-SNAPSHOT"
 

Sbt не удается разрешить ряд зависимостей для math4:

 [error] (update) sbt.librarymanagement.ResolveException: Error downloading org.apache.commons:commons-numbers-rootfinder:1.0-SNAPSHOT
[error]   Not found
 

Комментарии:

1. Вы действительно хотите зависеть от версий моментальных снимков?!

Ответ №1:

Вы не должны полагаться на зависимости МОМЕНТАЛЬНЫХ снимков: они нестабильны, не обеспечивают воспроизводимую сборку и не хранятся вечно в репозиториях.

На момент написания этого ответа последняя опубликованная версия 4.0-SNAPSHOT commons-math4 зависит от версии 1.0-SNAPSHOT commons-numbers-rootfinder, которая больше недоступна ( 1.1-SNAPSHOT существует: https://repository.apache.org/content/repositories/snapshots/org/apache/commons/commons-numbers-rootfinder/).

Комментарии:

1. Я слышал, что многие программисты перешли на math4, который доступен только в виде моментального снимка. Я думаю, что пока мне следует придерживаться math3.

2. @отметьте, если ответ вас устраивает, вы можете отметить его как принятый 😉