sbt没有生成bin目录时,暂存或发布docker+其他问题

我有一个直接的问题,如标题中所述,当运行docker:publishLocal docker:stagedocker:publishLocal时, sbt不会生成bin目录(指向ENTRYPOINT脚本的目录)。

我以前从来没有见过这样的行为,所以我对于如何着手有些遗憾,但是我也应该提到,我已经以不同于往常的方式来build立这个项目了。

项目设置如下,在其根目录下:

 - infrastructure - app - build.sbt - target/... - another-project - project - BuildDefinition.scala - plugins.sbt - build.properties - build.sbt 

在我的根BuildDefinition.scala我已经build立了所有的项目定义,包括不需要所有我需要的app项目。

在root的build.sbt ,我只有:

 sourcesInBase in ThisBuild := false name := "fantasy-factory" 

app目录的build.sbt中,我只有Docker相关的东西

 dockerBaseImage in Docker := "java:8-jre" mainClass := Some("akka.Main") javaOptions in Universal ++= Seq("com.nv.microservice.as.cluster.ClusterEntryPoint") version in Docker := "latest" packageName in Docker := "basic-distributed-microservice" 

什么分阶段生成是几乎所有我需要的一切除了bin目录有入口点脚本。 所以我确实在apptarget目录下面看到:

 - target - docker - stage - opt - docker - conf - lib - (I would have expected to see bin here) - Dockerfile - Dockerfile 

这对我来说是非常令人沮丧的。 任何意见表示赞赏。

我有一个类似的问题,我解决了添加in (Compile)到mainClass键,如下所示。 在你的build.sbt文件中:

 lazy val root = (project in file(".")) .enablePlugins(JavaServerAppPackaging) .enablePlugins(DockerPlugin) .settings( name := "my-project", mainClass in (Compile) := Some("MyFQNMainClass"), version := "1.0.0.BUILD", dockerBaseImage := "azul/zulu-openjdk:8", dockerUpdateLatest := true, dockerExposedPorts := Seq(8080), dockerRepository := Some("myrepo") ) scalaVersion := "2.11.8" sbtVersion := "0.13.9" ... 

我也有plugins.sbt文件(在project文件夹下):

 logLevel := Level.Warn dependencyOverrides += "org.scala-sbt" % "sbt" % "0.13.9" addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "2.1.0") addSbtPlugin("com.typesafe.sbt" % "sbt-s3" % "0.8") addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.1.4") addSbtPlugin("io.spray" % "sbt-revolver" % "0.8.0") 

build.propertiesplugins.sbt所在的文件夹中:

 sbt.version=0.13.9 

希望能帮助到你。