Nano Hash - криптовалюты, майнинг, программирование

Почему sbt сообщает об отсутствии библиотек для Scala 2.10.2 (с 1 августа)?

У меня есть несколько приложений Play 2.2.x, которые без проблем создавались месяцами. Однако, начиная с 1 августа 2014 года, я начал получать следующие предупреждения и ошибки:

Получение org.scala-sbt sbt 0.13.0 ...

:: сводка проблем :: :::: модуль ПРЕДУПРЕЖДЕНИЙ не найден: org.scala-lang # scala-library; 2.10.2

==== местный: пробовал

/Users/dpope/.ivy2/local/org.scala-lang/scala-library/2.10.2/ivys/ivy.xml

==== typesafe-ivy-Release: пробовал

repo.typesafe.com/typesafe/ivy-releases/org.scala-lang/scala-library/2.10.2/ivys/ivy.xml

==== Maven Central: пробовал

repo1.maven.org/maven2/org/scala-lang/scala-library/2.10.2/scala-library-2.10.2.pom

  module not found: org.scala-lang#scala-compiler;2.10.2

==== местный: пробовал

/Users/dpope/.ivy2/local/org.scala-lang/scala-compiler/2.10.2/ivys/ivy.xml

==== typesafe-ivy-Release: пробовал

repo.typesafe.com/typesafe/ivy-releases/org.scala-lang/scala-compiler/2.10.2/ivys/ivy.xml

==== Maven Central: пробовал

repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.10.2/scala-compiler-2.10.2.pom

  ::::::::::::::::::::::::::::::::::::::::::::::

  ::          UNRESOLVED DEPENDENCIES         ::

  ::::::::::::::::::::::::::::::::::::::::::::::

  :: org.scala-lang#scala-library;2.10.2: not found

  :: org.scala-lang#scala-compiler;2.10.2: not found

  ::::::::::::::::::::::::::::::::::::::::::::::

:: ИСПОЛЬЗУЙТЕ УРОВЕНЬ ВЕРБОЗЫ ИЛИ ОТЛАДКИ ДЛЯ БОЛЕЕ ПОДРОБНЫХ ДЕТАЛЕЙ неразрешенная зависимость: org.scala-lang # scala-library; 2.10.2: не обнаружена неразрешенная зависимость: org.scala-lang # scala-compiler; 2.10.2: не найдено Ошибка во время выполнения sbt: Ошибка при получении необходимых библиотек (полный журнал см. в /Users/dpope/.sbt/boot/update.log) Ошибка: не удалось получить sbt 0.13.0

(Я удалил http: из URL-адресов выше)

Моя команда сборки:

java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -jar /opt/sbt/sbt-launch-0.13.0.jar -Dsbt.log.noformat=true clean compile test dist

Опять же, это работало нормально в течение нескольких месяцев, и только 1 августа 2014 года у него начались проблемы.

Просматривая update.log, я вижу, что для двух файлов есть 404. Очевидно, что имеет смысл, почему работа не выполняется, поскольку есть ошибки 404.

У кого-нибудь есть обходной путь? Поскольку это происходит перед сборкой Play, похоже, что я не могу установить никаких конфигураций. У меня нет возможности управлять репозиториями через ~ / .sbt / repositories на нашем сервере сборки, поскольку они недолговечны.

ИЗМЕНИТЬ 2 августа, 10:40 EDT

Еще немного покопавшись, похоже,

http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compile/0.13.0/ivys/ivy.xml.

имеет зависимость от

<override org="org.scala-lang" module="scala-library" matcher="exact" rev="2.10.2"/>
<override org="org.scala-lang" module="scala-compiler" matcher="exact" rev="2.10.2"/>

но их больше нет ни в одном хранилище плюща.


  • Надеюсь, это скоро будет исправлено, но до тех пор: scala 2.10.2 все еще доступен в репозитории релизов sonatype. Добавление Resolvers += Resolver.sonatypeRepo("releases") в /project/plugins.sbt (и, возможно, /build.sbt, в зависимости от вашего проекта) должно обойти это. 03.08.2014
  • Только что обнаружил, что это тоже указано, но учтите случай resolvers - он начинается с нижнего регистра r. 04.08.2014
  • @JacekLaskowski о, да, спасибо. Я отредактировал билет. 04.08.2014

Ответы:


1

Я только что нашел два места, где проблема была сообщена и решена по-разному.

Измените преобразователи, чтобы включить выпуски Sonatype

Это описано в SI-8772. Сборки, основанные на артефакте Scala 2.10.2 в Maven, не работают и решение состоит в том, чтобы добавить в вашу сборку следующее:

resolvers += Resolver.sonatypeRepo("releases")

Скачивание необходимых файлов вручную

О проблеме с отсутствующими библиотеками Scala 2.10.2 также сообщалось в список рассылки пользователей Apache Spark, и решением было загрузить необходимые файлы вручную следующим образом:

$ cd ~/.ivy2/cache/org.scala-lang/
$ mkdir -p scala-library && cd scala-library
$ wget https://raw.githubusercontent.com/peterklipfel/scala_koans/master/ivyrepo/cache/org.scala-lang/scala-library/ivy-2.10.2.xml
$ wget https://raw.githubusercontent.com/peterklipfel/scala_koans/master/ivyrepo/cache/org.scala-lang/scala-library/ivydata-2.10.2.properties
$ mkdir -p jars && cd jars
$ wget https://github.com/peterklipfel/scala_koans/raw/master/ivyrepo/cache/org.scala-lang/scala-library/jars/scala-library-2.10.2.jar

Это сводится к загрузке недостающих файлов из другого репозитория в локальный кеш Ivy2. Сделайте то же самое для scala-compiler, и все будет в порядке.

03.08.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..