2

Play プロジェクトにアーティファクトを追加しようとしています。いくつかのフォーラムを調べたところ、これが適切な方法のようです。

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 プロジェクト内のモジュールです。

4

1 に答える 1

4

ビルド定義のこのような限られた抽出で確認することは困難ですが、私の推測では、あなたは 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.")

したがって、少なくともタイプは正しいです:)

于 2013-12-16T17:46:11.160 に答える