我不是Java的初学者,但是我不知道这里发生了什么。当我尝试编译以下代码时:
package controls;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class RButton {
public RButton() {
}
}
我收到以下错误:
java.lang.NoClassDefFoundError: RButton (wrong name: controls/RButton)
RButton.java文件位于“project folder \ ribbon \ controls \”目录中。在Ribbon文件夹中,我已经能够成功地将package ribbon;
放在我的源文件的顶部。我无法理解我在这里做错了什么。有什么帮助吗?
编辑:问题在于我与Sublime Text for Java源文件一起使用的批处理文件。 JCreator编译和运行没有问题。谢谢您的帮助。虽然!
答案 0 :(得分:1)
位于controls
文件夹中的类的包名称应为ribbon.controls
。文件夹结构由包命名和层次结构匹配1到1。
因此,在ribbon
文件夹中,您放置了package ribbon
。在ribbon/controls
文件夹中,您添加了package ribbon.controls
。在ribbon/controls/foo
文件夹中,您使用package ribbon.controls.foo
等