使用 SBT - Native Packager Plugin 添加工件以播放项目
Posted
技术标签:
【中文标题】使用 SBT - Native Packager Plugin 添加工件以播放项目【英文标题】:Adding artifact to play project using SBT - Native Packager Plugin 【发布时间】:2014-01-02 23:03:24 【问题描述】:我正在尝试将工件添加到我的游戏项目中,我查看了几个论坛,看起来这是正确的方法:
lazy val playProject = play.Project(myProjectName, myProjectVersion, path = file("."))
.settings(addArtifact(Artifact (myProjectName, "dist", "zip"), dist).settings: _*)
但后来我收到编译错误: "...project/Build.scala:26: not found: value dist"
我需要在哪里定义它?我在这里错过了什么?
附加信息:我的“playProject”是 scala 项目中的一个模块,其中包含一些其他 scala 模块。
【问题讨论】:
【参考方案1】:很难确定您的构建定义的如此有限的提取,但我的猜测是您在 scala 构建文件中并且没有在范围内导入 dist 键。
尝试将以下导入添加到您的构建文件中
import com.typesafe.sbt.packager.universal.UniversalKeys.dist
addArtifact 具有以下签名:
def addArtifact(a : sbt.Artifact, taskDef : sbt.TaskKey[java.io.File])
UniversalKeys.dist 定义如下:
val dist = TaskKey[File]("dist", "Creates the distribution packages.")
所以至少类型是正确的:)
【讨论】:
以上是关于使用 SBT - Native Packager Plugin 添加工件以播放项目的主要内容,如果未能解决你的问题,请参考以下文章
扩展 sbt-native-packager (Docker)
如何使用 sbt-native-packager 设置 Docker Registry
使用 sbt-native-packager 为我的 sbt 项目获取 docker 支持时出错
如何使用 sbt-native-packager 更改通用 zip 文件名