使用 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 文件名

如何使用 sbt-native-packager 创建基本项目设置

在 SBT 中为 sbt-native-packager 的 packageMappings 构建路径