我有我的目录结构设置.
src/main/scala/main/Main.scala
src/main/scala/scripts/MainScript.scala
该脚本是将运行的后台作业.
我之前使用sbt-assembly将主文件打包成要部署的jar但我不确定如何用sbt-assembly或sbt-native-packager创建两个独立的jar.我将如何做到这一点以及这个问题的最佳方法是什么?
我希望做类似的事情.
java -jar main.jar $PORT
java -jar scriptMain.jar
最佳答案 仅使用native-packager解决此问题的一种方法如下.
>将所有主类放在src / main / scala中
>在Compile中定义mainClass:=应该默认运行的some(“foo.bar.Main”)
>您希望提供的src / universal / bin中的add additional scripts.这些脚本可以将native-packager and set the -main参数生成的主脚本调用到要调用的类.
现在你有一个输出包(例如zip,rpm,deb),它具有以下结构.假设您的应用程序名为myApp,并且您提供给名为otherApp1 / otherApp2的其他bin脚本
lib/ (jars live here)
conf/ (configuration files here, if any)
bin/
myApp
otherApp1
otherApp2
不幸的是我没有脚本的例子(我的bash-foo对于SO上的即时魔法来说还不够好).最后,脚本(otherApp1,otherApp2)应该只将它们接收的参数传递给native-packager脚本(myApp).
an issue #633提供了一种生成这样的脚本的自动方式.
希望有所帮助,
缪奇