2013-04-22 2 views
1

Я не совсем новичок с Java, но я не понимаю, что здесь происходит. Когда я пытаюсь скомпилировать следующий код:java.lang.NoClassDefFoundError при создании пакета 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 я смог успешно разместить package ribbon; в начале моих исходных файлов. Я не могу понять, что я делаю неправильно здесь. Любая помощь?

Редактировать: Проблема заключается в пакетном файле, который я использую в сочетании с исходными файлами Sublime Text для Java. У JCreator нет проблем с компиляцией и запуском. Спасибо за помощь. хоть!

+0

Можете ли вы опубликовать команду, которую вы используете для компиляции (например, 'javac ...') – austin

+0

Какая ваша исходная папка? –

+0

Это говорит о том, что код выполняется как 'java RButton', а не как' java controls.RButton'. Действительно ли вы выполняете консоль вместо среды IDE? Связанный/дубликат: http://stackoverflow.com/questions/7509295/noclassdeffounderror-wrong-name/7509317#7509317 – BalusC

ответ

1

Имя пакета для классов, расположенных в папке controls, должно быть ribbon.controls. Структура папок сопоставляется с 1 по 1 с помощью именования пакетов и иерархии.

Итак, в папке ribbon вы положили package ribbon. В папке ribbon/controls вы помещаете package ribbon.controls. В папке ribbon/controls/foo вы используете package ribbon.controls.foo и т. Д.

+0

Изменение строки на 'пакет ribbon.controls;' дает ошибку 'java.lang.NoClassDefFoundError: RButton (неправильное имя: лента/элементы управления/RButton)'. – SimonT

+0

Алекс, я открыл все в JCreator и обнаружил, что проблем не было. Ваше предложение действительно было правильным. Однако это не решило основной проблемы: у моего командного файла для компиляции исходных файлов Java была какая-то проблема. Думаю, мне придется использовать JCreator для этого проекта. – SimonT

Смежные вопросы