告诉 SBT 将我所有的依赖项收集在一起
构建 Web 应用程序时,SBT 能够将所有 jar 依赖项收集到 WAR 文件中。
是否可以让 SBT 将我在非 Web 应用程序中依赖的所有 jar 放入一个目录中,以便我在运行应用程序时可以轻松地将它们放入我的类路径中?
When building a web application SBT is able to collect all my jar dependencies into the WAR file.
Is this possible to have SBT put all the jars I depend on in my non-web application into a directory so I can easily put them onto my class path when running the app?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,您可以在项目定义类中放置类似的内容:
并通过 SBT 控制台中的
collect-jars
运行任务。这会将 scala-library.jar 和用于编译的 jar 复制到与classes
目录相同的目录中名为lib
的目录中。Yes, you can put something like this in your project definition class:
and run the task via
collect-jars
in your SBT console. This will copy the scala-library.jar and the jars used for compilation in a directory calledlib
in the same directory as yourclasses
directory.老实说,不要为 sbt 组装而烦恼。我是 scala 新手,但我对技术相当不可知论,我处理很多技术和 sbt 组装,但它并不干净。只是一个意见。
我会推荐你 sbt-pack。很棒的作品。它还将为您提供适用于 WINDOWS 和 LINUX 的可运行脚本。
https://github.com/xerial/sbt-pack
In my honest opinion don't bother with sbt-assembly. I'm new with scala but I'm quite technology agnostic, I handle a lot of technologies and sbt-assembly it's not clean. Just an opinion.
I would recommend you sbt-pack. Awesome piece of work. It will give you the runnable scripts as well, for both.. WINDOWS AND LINUX.
https://github.com/xerial/sbt-pack
您可以使用 sbt-assemble 制作包含所有依赖项的 fat jar: https://github.com/sbt/ sbt 组装
You can use sbt-assembly to make a fat jar with all dependencies: https://github.com/sbt/sbt-assembly