dsg*_*dsg 18 scala executable-jar package sbt
答案:使用Simple Build Tool制作独立jar似乎是我需要的,但它没有足够的信息给我,所以这是一个后续.
(1)如何根据需要调整答案?我不明白需要改变什么.
(2)我运行什么命令来创建独立jar?
(3)创建后,我在哪里可以找到它?
我尝试过的:
将链接的答案中的代码逐字地粘贴到我的:project/build/dsg.scala文件中.该文件现在有一个
class ForkRun(info: ProjectInfo) extends DefaultProject(info)
(从之前,用于在与SBT分开的VM中运行项目)和新的:
trait AssemblyProject extends BasicScalaProject
从链接的答案.
我也试过粘贴体(所有defs和lazy val的AssemblyProject成体ForkRun.
要创建一个jar我package在SBT提示符下运行并得到:
[info] Packaging ./target/scala_2.8.1/dsg_2.8.1-1.0.jar ...
[info] Packaging complete.
Run Code Online (Sandbox Code Playgroud)
所以我尝试dsg_2.8.1-1.0.jar通过shell 运行shell:
java -jar dsg_2.8.1-1.0.jar
Run Code Online (Sandbox Code Playgroud)
但我得到:
Failed to load Main-Class manifest attribute from
dsg_2.8.1-1.0.jar
Run Code Online (Sandbox Code Playgroud)
这可能是因为我的项目中有多个入口点吗?当我run从SBT提示执行时,我从列表中选择.也许我需要在创建包时指定默认值?
这是我用SBT制作可执行jar的一种方式的写法:
http://janxspirit.blogspot.com/2011/01/create-executable-scala-jar-with-sbt.html
| 归档时间: |
|
| 查看次数: |
16689 次 |
| 最近记录: |