1

我不完全是 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 文件位于目录“项目文件夹\ribbon\controls\”中。在功能区文件夹中,我已经能够成功地将package ribbon;源文件放在那里。我不明白我在这里做错了什么。有什么帮助吗?

编辑:问题出在我与 Sublime Text for Java 源文件一起使用的批处理文件上。JCreator 编译运行没有问题。谢谢您的帮助。尽管!

4

1 回答 1

1

位于controls文件夹中的类的包名称应为ribbon.controls. 文件夹结构由包命名和层次结构一对一匹配。

所以在ribbon文件夹中,你把package ribbon. 在ribbon/controls文件夹中,您将package ribbon.controls. 在ribbon/controls/foo您使用的文件夹package ribbon.controls.foo中,等等。

于 2013-04-22T20:14:16.690 回答