2017-05-07 57 views
0

運行,我發現在GitHub上斯卡拉阿卡的WebSocket包和Scala的命令

scala websocket比如我這個克隆回購,做了一些小的變化,我能得到服務器了sbt run命令運行。

我收拾這爲jar文件,sbt package命令,並試圖與scala -classpath jarfilespath server.jar命令來運行,但沒有魯奇

我嘗試添加所有依賴於-classpath,但我仍然有錯誤java.lang.NoSuchMethodError:com.typesafe.config.Config.getDuration

我也嘗試使用sbt-assembly插件,它生成了一個20M + jar文件,但它仍然給出相同的錯誤信息

如何將它打包到jar文件並使用scala命令運行?謝謝!

+1

你可以看看https://github.com/geoHeil/akkaStreamsIngest,通常'sbt package'或者'assembly'應該沒問題。也許你在程序集配置中排除了一些依賴關係。 –

回答

0

事實上,sbt package的結果對您不起作用,因爲這會僅使用此項目的代碼而不是其依賴項創建jar。

你是正確的,一個解決辦法是通過向project/plugins.sbt使用sbt-assembly插件:

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.4") 

這之後,您可以啓動服務器:

java -jar target/scala-2.11/websocket-akka-http-assembly-1.0.jar 

你確定這給你有錯誤信息?究竟哪一個?

+0

感謝您的更新,我找到了[本文]的答案(http://stackoverflow.com/questions/24238060/how-to-run-jar-generated-by-package-possibly-with-other-jars-下lib),它適用於我 – jerry