0

我尝试编译这段代码

import java.awt.Color
import javax.swing.JButton
import javax.swing.JPanel;


object Main{
    var panel = new JPanel
    var btn= new JButton
    def main(args:Array[Int]):Unit={
      btn.setBounds(80,80,80,80)
      btn.setBackground(Color.BLUE);
      panel.add(btn);
  }  
}

当我键入scalac Main.scala类文件时,已成功创建,但在 scala Main 之后有类似的输出

java.lang.NoClassDefFoundError: midterm/Main
Caused by: java.lang.ClassNotFoundException: midterm.Main
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: midterm.Main.  Program will exit.
Exception in thread "main" Java Result: 1

如何修复它?

4

1 回答 1

2

这似乎是一个包问题。确保它Main.scala位于名为midterm. 然后使用:

scalac midterm/Main.scala

从包含midterm子目录的目录中。还要确保文件包含package声明:

package midterm

此外,您的main方法入口点方法应该有一个String数组而不是Int一个:

def main(args:Array[Int]):Unit={

应该

def main(args:Array[String]):Unit={

通过这些更改,它可以很好地与Scala 2.10.0.

于 2013-03-10T19:06:10.893 回答