我尝试编译此代码
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
如何解决?
答案 0 :(得分: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
编译好。