在 SBT 中添加 sbt native packager 插件

Posted

技术标签:

【中文标题】在 SBT 中添加 sbt native packager 插件【英文标题】:Adding sbt native packager plugin in SBT 【发布时间】:2016-07-27 07:05:05 【问题描述】:

我有一个非常有条理的构建文件,它由以下 scala 文件组成:

    Build.scala - 主构建文件 Dependencies.scala - 我在其中定义依赖项和版本 BuildSettings.scala - 我在其中定义构建设置 plugins.sbt

Build.scala 的 sn-p 如下:

import sbt._
import Keys._

object MyBuild extends Build 

  import Dependencies._
  import BuildSettings._
  import NativePackagerHelper._

  // Configure prompt to show current project
  override lazy val settings = super.settings :+ 
    shellPrompt :=  s => Project.extract(s).currentProject.id + " > " 
  

  // Define our project, with basic project information and library dependencies
  lazy val project = Project("my-project", file("."))
    .settings(buildSettings: _*)
    .settings(
      libraryDependencies ++= Seq(
        Libraries.scalaAsync
        // Add your additional libraries here (comma-separated)...
      )
    ).enablePlugins(JavaAppPackaging, DockerPlugin)

我上面提到的所有 4 个文件都在项目目录内的同一目录中。但是当我运行这个构建文件时,我得到了以下错误:

not found value: NativePackagerHelper

任何线索为什么他的这个?

【问题讨论】:

【参考方案1】:

我发现了问题所在。我必须在我的 build.properties 中使用以下内容

sbt.version=0.13.11

我最初有 0.13.6,它导致导入语句失败!

【讨论】:

我推荐使用 build.sbt。 Build.scala 已弃用,将在 SBT 1.0 中删除。

以上是关于在 SBT 中添加 sbt native packager 插件的主要内容,如果未能解决你的问题,请参考以下文章

添加 sbt-native-packager 后出现 sbt 错误

将 sbt-web 资源 jar 添加到 sbt-native-packager 的类路径

使用 sbt-native-packager 为我的 sbt 项目获取 docker 支持时出错

SBT Native Packager 的条件 JavaAgent 命令

使用 SBT - Native Packager Plugin 添加工件以播放项目

在 sbt-native-packager 中配置“动态”命令行参数