0

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

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

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

[调试] 未找到外部依赖项 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jce.jar。

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

有谁能够帮我?

** 解决方案 **

谢谢你的帮助。

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

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

但我们也在尽快更新到 sbt 12.3。

4

2 回答 2

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
于 2013-06-10T12:12:41.710 回答
1
  • 我的 ubuntu 13.04 上有这个文件
  • 你确定他们是独立的?它可以以某种方式检查吗?
  • 你用什么命令编译?~ compile?
  • 无论如何,我建议从旧的 SBT、旧的 Lift 和旧的 Scala 迁移。它们是遥远的旧版本,新版本在性能和允许的技术方面有很多改进。在 Scala 环境中,快速进化是很常见的,从而减少了维护周期。查看最新的官方模板:https ://github.com/lift/lift_25_sbt/
于 2013-06-10T09:39:13.870 回答