答案:Making stand-alone jar with Simple Build Tool看起來像我所需要的,但它沒有足夠的信息給我,所以這是一個後續。斯卡拉SBT:獨立瓶子
(1)如何根據需要調整答案?我不明白需要改變什麼。
(2)我運行什麼命令來創建獨立的jar?
(3)在哪裏可以找到創建後的jar?
我已經試過什麼:
粘貼在鏈接的答案代碼逐字到我:
project/build/dsg.scala
文件。現在,該文件有一個class ForkRun(info: ProjectInfo) extends DefaultProject(info)
(來自之前,用於從SBT在一個單獨的虛擬機上運行的項目)和新:
從鏈接答案trait AssemblyProject extends BasicScalaProject
。
我也試過粘貼體(所有
defs
和AssemblyProject
的lazy val
成ForkRun
身體
要創建jar
我在SBT迅速跑package
,並得到:
[info] Packaging ./target/scala_2.8.1/dsg_2.8.1-1.0.jar ...
[info] Packaging complete.
所以我試着從shell運行dsg_2.8.1-1.0.jar
通過:
java -jar dsg_2.8.1-1.0.jar
,但我得到:
Failed to load Main-Class manifest attribute from
dsg_2.8.1-1.0.jar
難道這具有多個入口點到我的項目造成的?我從SBT提示符執行run
時從列表中選擇。也許我需要在創建包時指定默認值?
我已經編輯了自2010年的答案(http://stackoverflow.com/questions/2887655/making-stand-alone-jar-with-simple-build-tool/2887681#2887681),以包括反義詞的sbt-onejar插件。 – VonC 2011-05-17 07:00:16
可能的[如何從shell作爲普通命令行程序運行sbt主類?](http:// stackoverflow。COM /問題/ 7134993 /如何-DO-I-運行一個-SBT-主類從 - - 殼作爲正常的命令行程序) – 2013-12-28 20:45:47
重複http://stackoverflow.com/q的/ 7134993/1305344和http://stackoverflow.com/q/7195079/1305344 – 2013-12-28 20:45:59