4

私の唯一の推測は、ビルド構成に何か問題があるということですが、コンパイルするたびにすべてを再コンパイルしています。「最後のコンパイル」をより深く掘り下げると、常に教えてくれます

> compile
[info] Compiling 28 Scala sources and 78 Java sources to /home/me/foo/target/scala-2.10/classes...
[warn] Note: Some input files use unchecked or unsafe operations.
[warn] Note: Recompile with -Xlint:unchecked for details.
[success] Total time: 34 s, completed Nov 8, 2013 12:35:18 PM
> last compile
[debug] 
[debug] Initial source changes: 
[debug]     removed:Set(/home/me/foo/scala/Bar.scala, ...)
[debug]     added: Set(scala/Bar.scala, ...)
[debug]     modified: Set()
...
[debug] Recompiling all 106 sources: invalidated sources (56) exceeded 50.0% of all sources
...

各 Scala ソース ファイルは、完全修飾パスを含む削除セットに含まれており、構成で使用する相対パスが追加されたセットに含まれています。Scala と Java のプロジェクトが混在しているので、それが問題になる可能性はありますか? 「最後のコンパイル」はJavaファイルについて言及していませんが。

私の構成は次のようになります。

import sbt._
import Keys._

object MyBuild extends Build {
  val buildSettings = Defaults.defaultSettings ++ Seq(
    scalaVersion := "2.10.2"
  )
  val jettyVersion = "7.6.7.v20120910"

  val webHome = System.getenv("WEB_HOME")

  val webJars = 
  Seq("servlet-api-2.5.jar", 
      "annotations.jar",
      "jetty-server-" + jettyVersion + ".jar",
      "jetty-client-" + jettyVersion + ".jar",
      "jetty-http-" + jettyVersion + ".jar",
      "jetty-http-" + jettyVersion + ".jar")
    .map(webHome + "/lib/java/" + _)
  val classes = Seq("build/jars/Foo.classes")

  val jarPath = (webJars ++ classes).map(file).classpath

  val sourcePaths = 
    inConfig(Compile)(Defaults.configSettings) ++
    Seq(
      unmanagedSourceDirectories in Compile += file("scala"),
      unmanagedSourceDirectories in Compile += file("build/java"),
      unmanagedSourceDirectories in Compile += file("java"),
      unmanagedJars in Compile ++= jarPath)

  val root = Project("root", file("."), settings = (buildSettings ++ sourcePaths))
}

私がここで台無しにしている明らかな何かがありますか?

4

1 に答える 1

0

build.sbt の最後に次の行を追加します。

scalaSource in Compile := baseDirectory.value / "src"

IDE との互換性のために、私のソースは直下にフォルダーもフォルダーもsrcないため、私の問題を解決しました。mainscala

于 2013-12-18T16:43:18.010 に答える