我正在安装Scala 2.9.3插件的eclipse 我有一个Scala项目,可以从eclipse中正常工作,但是当我将项目导出到“Runnable JAR File”并尝试运行它时,我得到以下异常:
java.lang.NoClassDefFoundError: scala/ScalaObject
我尝试了所有3个图书馆处理选项:
所有人都以相同的例外结束。
为了从我的项目中创建一个独立的JAR文件,我需要做些什么?
答案 0 :(得分:1)
我过去使用过sbt-assembly插件,我觉得它很容易使用。
答案 1 :(得分:1)
如果您使用SBT维护&建立你的项目,然后像pedrofurla
建议你应该尝试sbt-assembly插件。在最简单的情况下,只需将以下内容添加到项目构建中(我更喜欢Build.scala
,但在*.sbt
中看起来相同):
1)进口:
import sbtassembly.Plugin._
import AssemblyKeys._
2)设置:
mainClass in assembly := Some("path.to.MainClass")
jarName in assembly := "jar-name.jar"
3)如果你想发布工件:
artifact in (Compile, assembly) ~= { art =>
art.copy(`classifier` = Some("assembly"))
} // add classifier
然后是您的发布任务:
lazy val publishingSettings = addArtifact(artifact in (Compile, assembly), assembly) ++ Seq(
publishTo := /* your repository settings */
)
调用assembly
以获取一体化jar文件或发布以将其发布到您的回购。这应该工作