sbt native packager无法将NativePackageKey.\uu导入Build.scala

sbt native packager无法将NativePackageKey.\uu导入Build.scala,sbt,sbt-native-packager,Sbt,Sbt Native Packager,标题说明了一切。我肯定这是件小事,但我已经做了几个小时了,没法把它舔干净 SBT 13.7 sbt本机包装机1.0.0-M1 使用自动插件 scala 2.10.4 使用Build.scala 使用sbt脚本进行标准化 我的项目文件夹如下所示 project/ project/* target/* Build.scala plugins.sbt plugins.sbt addSbtPlugin("com.typesafe.sbt" % "sbt-native-p

标题说明了一切。我肯定这是件小事,但我已经做了几个小时了,没法把它舔干净

  • SBT 13.7
  • sbt本机包装机1.0.0-M1
  • 使用自动插件
  • scala 2.10.4
  • 使用Build.scala
  • 使用sbt脚本进行标准化
  • 我的
    项目
    文件夹如下所示

    project/
        project/*
        target/*
        Build.scala
        plugins.sbt
    
    plugins.sbt

    addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.0-M1")
    
    Build.scala

    import sbt._
    import Keys._
    
    object BuildSettings {
    
      val buildName = "ASDF"
      val buildOrganization = "BLAH"
      val buildVersion      = "0.1-SNAPSHOT"
      val buildScalaVersion = "2.10.4"
    
      val buildSettings = Defaults.defaultSettings ++ Seq(
        organization  := buildOrganization,
        version       := buildVersion,
        scalaVersion  := buildScalaVersion,
        shellPrompt   := ShellPrompt.buildShellPrompt,
        scalacOptions ++= Seq("-encoding", "utf8", "-unchecked", "-deprecation", "-feature")
      )
    }
    
    object ShellPrompt {
    
    object devnull extends ProcessLogger {
      def info (s: => String) {}
      def error (s: => String) { }
      def buffer[T] (f: => T): T = f
    }
    
    def currBranch = (
      ("git status -sb" lines_! devnull headOption)
      getOrElse "-" stripPrefix "## "
    )
    
    val buildShellPrompt = {
      (state: State) => {
        val currProject = Project.extract (state).currentProject.id
        "%s:%s:%s> ".format (
          currProject, currBranch, BuildSettings.buildVersion
        )
      }
    }
    }
    
    object Packaging {
      import com.typesafe.sbt.SbtNativePackager._
      import NativePackagerKeys._ 
      val packagingSettings = Seq(
        name := BuildSettings.buildName,
        NativePackagerKeys.packageName := "asdf"
      ) ++ Seq(packageArchetype.java_application:_*) ++ buildSettings
     }
    
    object Resolvers {
      val twttrRepo    = "Twitter Repo"  at "http://maven.twtter.com"
      val sonaTypeRepo = "SonaType Repo" at "https://oss.sonatype.org"
    }
    
    object Dependencies {
      val finatra = "com.twitter" %% "finatra" % "1.5.4"
      val finagleHttp = "com.twitter" %% "finagle-http" % "6.2.0"
      val scalaTest = "org.scalatest" % "scalatest_2.10" % "2.0" % "test"
      val argonaut = "io.argonaut" %% "argonaut" % "6.0.4"
    }
    
    object ASDF extends Build {
      import Resolvers._
      import Dependencies._
      import BuildSettings._
    
      val commonDeps = Seq (
        finatra,
        finagleHttp,
        argonaut,
        scalaTest
      )
    
      lazy val root: Project = Project(
       buildName,
       file("."),
       settings = buildSettings ++ Seq(libraryDependencies ++= commonDeps)
        ++ Packaging.packagingSettings
      )
    }
    
    当尝试编译时,会吐出

    [error]           /Users/penland365/Development/sabrelabs/projects/CortanaTripCase/server/project/Build.scala:45: not found: value NativePackagerKeys
    [error]   import NativePackagerKeys._
    [error]          ^
    [error] one error found
    [error] (compile:compile) Compilation failed`
    

    我已经尝试过移动这些导入语句,但还没有看到任何不同。有什么想法吗?谢谢。

    如果您使用的是自动插件,建议使用

    要回答有关键的问题,您可能应该尝试

    import com.typesafe.sbt.SbtNativePackager.autoImport_
    
    尤金是对的。另一种导入方法是
    import com.typesafe.sbt.packager.Keys.\uu