我在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版。
答案 0 :(得分:1)
~ compile
?答案 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