Публикация этого только потому, что никакие другие предложенные решения не помогли.У меня есть очень простой одноклассный проект sbt Scala, который должен быть исполняемым файлом .jar.У него есть некоторые java-зависимости, поэтому sbt package
мне не подойдет, мне нужен толстый кувшин.Проект имеет следующую структуру.
├── build.sbt
├── project
│ ├── assembly.sbt
│ ├── build.properties
│ ├── project
│ └── target
├── README.md
├── src
│ ├── main
│ └── test
├── target
│ ├── scala-2.12
│ ├── specs2-reports
│ ├── streams
│ └── test-reports
Он имеет один основной класс и одну тестовую спецификацию.Чтобы заставить sbt генерировать толстую банку, я добавил assembly.sbt
в project
dir и соответственно изменил мой build.sbt
.
import AssemblyKeys._
name := "myproj"
version := "1.0"
scalaVersion := "2.12.8"
libraryDependencies ++= Seq(
"au.com.bytecode" %% "opencsv" % "2.4",
"org.specs2" %% "specs2-core" % "4.3.0" % "test"
)
scalacOptions in Test ++= Seq("-Yrangepos")
assemblyMergeStrategy in assembly := {
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first
}
Однако, import AssemblyKeys._
красного цвета с cannot resolve symbol
?Попытка этого из консоли дает мне
import AssemblyKeys._
^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
Что еще я забыл, потому что на сборочной странице github не указано, что нам нужно делать что-то еще.Моя версия sbt sbt 1:1.2.8-1
.