SBT Native Packager - 如何检索 libraryDependencies 并将它们存储为包的一部分?
Posted
技术标签:
【中文标题】SBT Native Packager - 如何检索 libraryDependencies 并将它们存储为包的一部分?【英文标题】:SBT Native Packager - How to retrieve libraryDependencies and store them as part of the package? 【发布时间】:2013-12-19 13:06:54 【问题描述】:我最近发现了 SBT Native Packager 插件,我认为它可以帮助解决我所有的打包和部署问题。从表面上看,它看起来应该但是我有一个问题,我认为这是一个相当基本的问题; 我希望能够将所有托管依赖项从我的项目复制到我的包的 lib 目录以进行部署。
我仔细阅读了文档,但似乎没有明显的方法来做到这一点。
其中有一些说明解释了如何从项目中复制工件:
mappings in Universal <+= (packageBin in Compile) map jar =>
jar -> ("lib/" + jar.getName)
但我希望能够对托管依赖项执行相同操作。
我错过了什么吗?我通读了大多数关于托管依赖项的 sbt 文档,但也没有给我答案。我当然可以使用retrieveManaged := true
下载到 lib_managed 目录并从那里抓取,但感觉有点像 hack。
谁能帮忙?
詹姆斯
【问题讨论】:
【参考方案1】:我一直在寻找解决相同问题的方法,最后发现即使您的应用程序在 scala 中,将以下内容放入我的“build.sbt”文件也可以解决问题:
packageArchetype.java_application
exportJars := true
sbtsbt-native-packagerscala
【讨论】:
截至 2015 年 7 月,此答案已过时。查看JavaAppPackaging
(或JDKPackager
插件)的文档,它会自动收集依赖项。以上是关于SBT Native Packager - 如何检索 libraryDependencies 并将它们存储为包的一部分?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 sbt-native-packager 更改通用 zip 文件名
如何使用 sbt-native-packager 创建基本项目设置
如何使用 sbt-native-packager 设置 docker 镜像名称
如何在多个项目中使用 sbt-native-packager
如何使用 sbt-native-packager 创建 Upstart Zip 包?
如何使用 sbt-assembly 和 sbt-native-packager 构建 deb 包以包含单个程序集 jar?