Java Intelij scala项目不支持swing
我无法将swing库与scala-sdk-2.12.4一起使用。 我使用的是Java9版本。 当我尝试运行程序时:Java Intelij scala项目不支持swing,java,scala,intellij-idea,java-9,scala-2.12,Java,Scala,Intellij Idea,Java 9,Scala 2.12,我无法将swing库与scala-sdk-2.12.4一起使用。 我使用的是Java9版本。 当我尝试运行程序时: package rs.ac.bg.etf.zd173013m.gui import swing._ object HelloWorld extends SimpleSwingApplication { def top = new MainFrame { title = "First Swing App" contents = new Button { t
package rs.ac.bg.etf.zd173013m.gui
import swing._
object HelloWorld extends SimpleSwingApplication {
def top = new MainFrame {
title = "First Swing App"
contents = new Button {
text = "Click me"
}
}
}
我得到以下错误:
Exception in thread "main" java.lang.IncompatibleClassChangeError: Method scala.swing.Reactor.$init$()V must be InterfaceMethodref constant
at scala.swing.SwingApplication.<init>(SwingApplication.scala:4)
at scala.swing.SimpleSwingApplication.<init>(SimpleSwingApplication.scala:13)
at rs.ac.bg.etf.zd173013m.gui.HelloWorld$.<init>(Application.scala:5)
at rs.ac.bg.etf.zd173013m.gui.HelloWorld$.<clinit>(Application.scala)
at rs.ac.bg.etf.zd173013m.gui.HelloWorld.main(Application.scala)
线程“main”java.lang.CompatibleClassChangeError中出现异常:方法scala.swing.Reactor.$init$()V必须是InterfaceMethodref常量
在scala.swing.SwingApplication。(SwingApplication.scala:4)
在scala.swing.SimpleSwingApplication。(SimpleSwingApplication.scala:13)
位于rs.ac.bg.etf.zd173013m.gui.HelloWorld$(Application.scala:5)
位于rs.ac.bg.etf.zd173013m.gui.HelloWorld$(Application.scala)
位于rs.ac.bg.etf.zd173013m.gui.HelloWorld.main(Application.scala)
类路径上有不兼容的JAR版本。JAR中包含“SwingApplication”的代码是根据与类路径上不同的“Reactor”版本编译的
您使用什么来管理依赖关系?我猜你是手动下载的
切换到像Gradle这样的依赖关系管理系统,这个问题应该会消失,因为它将确保您所有的依赖关系都是一致的。因此,这个问题的解决方案是下载scala swing_2.12.0-RC2版本。如果有人知道如何找到更新的版本(2.12.4兼容2.12.4SDK,我将不胜感激)。对于idea scala项目版本,这是不可能的。我希望他们将来能解决这个问题。我每天都使用Gradle with IDEA,它得到了很好的支持。