张贴这只是因为没有其他建议的解决方案帮助。我有一个非常简单的单类scala sbt项目,它需要一个runnable.jar文件。它有一些java依赖,所以 sbt package
不适合我,我需要一个胖jar。该项目的结构如下。
├── build.sbt
├── project
│ ├── assembly.sbt
│ ├── build.properties
│ ├── project
│ └── target
├── README.md
├── src
│ ├── main
│ └── test
├── target
│ ├── scala-2.12
│ ├── specs2-reports
│ ├── streams
│ └── test-reports
它有一个主类和一个测试规范 assembly.sbt
进入 project
并修改了我的 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?
我还忘了什么,因为assebly github页面没有声明我们需要做任何其他事情。我的sbt版本是 sbt 1:1.2.8-1
.
1条答案
按热度按时间2w3rbyxf1#
在你的
project
目录,您需要添加plugins.sbt
包含以下内容的文件:然后,删除
AssemblyKeys._
刷新sbt。只有在成功刷新后,才能插入该导入