SBT 0.7.7增量重新编译不再起作用

时间:2013-06-10 08:10:02

标签: scala sbt lift

我在ubuntu 12.10上使用sbt 0.7.7来构建一个Lift应用程序(Lift 2.4 / Java 1.6 / Scala 2.7.7)

当我修改源文件时,sbt编译器会重新编译所有(甚至是独立的)文件。 “compile”的调试输出显示:

[debug]外部/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jce.jar不在类路径上。

[debug]找不到外部依赖/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jce.jar。

我正在使用~compile,文件在正确的路径中可用。

有人能帮助我吗?

**解决方案**

感谢您的帮助。

看起来sbt 0.7.7无法正确处理符号链接。

我删除了符号链接,并将其替换为原始文件的副本。这解决了这个问题。

但我们也会尽快更新到12.3版。

2 个答案:

答案 0 :(得分:1)

  • 我的ubuntu 13.04上有这个文件
  • 你确定他们是独立的吗?是否可以通过某种方式检查?
  • 你用什么命令进行编译? ~ compile
  • 无论如何,我建议从旧的SBT,老电梯和旧Scala搬走。它们距离很远,新版本在性能和允许技术方面有很多改进。在Scala环境中,快速进化,减少维护周期是很常见的。查看最新的官方模板:https://github.com/lift/lift_25_sbt/

答案 1 :(得分:1)

SBT 0.7.7被严重弃用。除非您有任何特定原因需要使用该版本,否则0.12.3升级将使事情变得更加容易。

大多数框架都不支持该版本的SBT。

确保Java在那里

不要使用JDK的开源版本,有时会引起Scala的麻烦。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

示例配置

name := "YourApp"

version := "0.1-SNAPSHOT"

scalaVersion := "2.10.0"

seq(com.github.siasia.WebPlugin.webSettings :_*)

seq(jrebelSettings: _*)

jrebel.webLinks <++= webappResources in Compile

resolvers ++= Seq(
    "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots",
    "Sonatype releases" at "https://oss.sonatype.org/content/repositories/releases"
)

libraryDependencies ++= {
    val liftVersion = "2.5-RC6"
    Seq(
      "commons-lang" % "commons-lang" % "2.6",
      "net.liftweb" %% "lift-webkit" % liftVersion % "compile",
      "net.liftweb" %% "lift-mongodb-record" % liftVersion % "compile",
      "org.mongodb" %% "casbah" % "2.5.0" % "compile",
      "org.eclipse.jetty"       %  "jetty-webapp"      % "8.1.7.v20120910"       %  "container,compile",
      "org.eclipse.jetty.orbit" %  "javax.servlet"     % "3.0.0.v201112011016"   %  "container,compile" artifacts Artifact("javax.servlet", "jar", "jar"),
      "org.specs2" %% "specs2" % "1.12.3" % "test",
      "ch.qos.logback" % "logback-classic" % "1.0.7" % "compile"
     )
}

classpathTypes ~= (_ + "orbit")

port in container.Configuration := 9100

EclipseKeys.withSource := true