加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如何将jar打包到sbt中的给定目录?

发布时间:2020-12-16 18:10:02 所属栏目:安全 来源:网络整理
导读:在sbt中,如果我们执行package,将在target / scala-2.12 / XXX.jar生成一个jar文件.但是我想把jar文件放在myDirectory / XXX.jar上.我该怎么做? 解决方法 默认路径的目标/部分由目标设置键定义,scala-2.12 / part由crossTarget设置定义(因为您可以针对不同版
在sbt中,如果我们执行package,将在target / scala-2.12 / XXX.jar生成一个jar文件.但是我想把jar文件放在myDirectory / XXX.jar上.我该怎么做?

解决方法

默认路径的目标/部分由目标设置键定义,scala-2.12 / part由crossTarget设置定义(因为您可以针对不同版本的 Scala进行交叉编译).所以一个简单的解决方案是将它添加到build.sbt:

crossTarget := baseDirectory.value / "myDirectory"

现在,如果你从sbt调用package任务,你将获得myDirectory /目录的所有文件,包括jar,类和其他通常用于target / scala-2.12 /的东西.

如果只想更改jar的位置,可以更改artifactPath设置.但是你应该在正确的范围内设置它并使用jar文件名:

artifactPath in packageBin in Compile := baseDirectory.value / "myDirectory" / "XXX.jar"

// if you're using sbt 1.1+,you can also write like this:
Compile/packageBin/artifactPath := ...

如果你有一个非平凡的设置,这很容易变得更加复杂和混乱.因此,请检查sbt源以了解artifactPath设置是如何实际定义的,并阅读sbt documentation中的工件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读