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

Добавление собственного плагина упаковщика sbt в SBT

У меня есть очень организованный файл сборки, состоящий из следующих файлов scala:

  1. Build.scala — основной файл сборки
  2. Dependencies.scala — где я определяю зависимости и версии
  3. BuildSettings.scala — где я определяю настройки сборки
  4. plugins.sbt

Фрагмент Build.scala выглядит следующим образом:

import sbt._
import Keys._

object MyBuild extends Build {

  import Dependencies._
  import BuildSettings._
  import NativePackagerHelper._

  // Configure prompt to show current project
  override lazy val settings = super.settings :+ {
    shellPrompt := { s => Project.extract(s).currentProject.id + " > " }
  }

  // Define our project, with basic project information and library dependencies
  lazy val project = Project("my-project", file("."))
    .settings(buildSettings: _*)
    .settings(
      libraryDependencies ++= Seq(
        Libraries.scalaAsync
        // Add your additional libraries here (comma-separated)...
      )
    ).enablePlugins(JavaAppPackaging, DockerPlugin)
}

Все 4 файла, о которых я упоминал выше, находятся в том же каталоге, который находится внутри каталога проекта. Но когда я запускаю этот файл сборки, я получаю следующую ошибку:

not found value: NativePackagerHelper

Любые подсказки, почему его это?


Ответы:


1

Я понял, в чем проблема. Мне пришлось использовать следующее в моих build.properties

sbt.version=0.13.11

Первоначально у меня была версия 0.13.6, и это приводило к сбою операторов импорта!

06.04.2016
  • Я рекомендую использовать build.sbt. Build.scala устарела и будет удалена в SBT 1.0. 07.04.2016
  • Новые материалы

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

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

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

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

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

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

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