2015-01-26 135 views
0

好,沒有任何問題,如下圖所示下build.sbt我的合作者運行代碼,而我得到:SBT - 丟失的依賴

[error] /.../GameMap.scala:91: value revalidate is not a member of javax.swing.JFrame 
[error]  frame.revalidate() 
[error]   ^
[error] /.../GameMap.scala:92: value revalidate is not a member of java.awt.Container 
[error]  frame.getContentPane.revalidate() 
[error]      ^

我懷疑,事情是在build.sbt丟失:

scalaVersion := "2.10.4" 

resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/" 

// scalacOptions ++= Seq("-feature")                                  

libraryDependencies ++= Seq(
    "com.typesafe.akka" %% "akka-actor" % "2.3.8", 
    "com.typesafe.akka" %% "akka-cluster" % "2.3.8", 
    "org.scala-lang" % "scala-swing" % "2.10.4" 
) 

這是什麼?

回答

2

我的猜測是,你正在運行的Java 6和你的合作者正在運行的Java 7

This is the Container documentation for java 6,不列出從Component繼承revalidate方法。

And here is the java 7 documentation,這並列出revalidate方法從Component

被繼承*同理也可應用於swing

+0

註明是否有可能增加整個java7(如單JAR)到SBT? – Scony 2015-01-26 19:32:47

+0

我不這麼認爲,但是您可以添加'scalacOptions + =「-target:jvm-1.7」'來獲得更好的錯誤? https://stackoverflow.com/questions/19208942/enforcing-java-version-for-scala-project-in-sbt – 2015-01-26 19:38:00