Почему мой класс не может быть запущен после объявления пакета и не может быть найден другим классом в том же пакете/папJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой класс не может быть запущен после объявления пакета и не может быть найден другим классом в том же пакете/пап

Сообщение Anonymous »

У меня возникли проблемы с пониманием того, как работают пакеты. Не использую никакую IDE.
У меня следующая структура папок:
~/dropbox/api/data
В папке data находятся (только) Producer.java, Consumer.java.

Код: Выделить всё

api
├── data
├── Consumer.java
├── Producer.java
└── Producer.class

Код: Выделить всё

package data;

public class Producer {

public static void main(String[] args) {
//do some production
}

public static Producer getProducer() {
//call constructor and return instance
}
}
----------------
package data;

public class Consumer {

public static void main(String[] args) {
Producer worker = getProducer();
}

}
Я перехожу в папку data и javac Producer.java, чтобы скомпилировать Producer.class в той же папке. Затем, когда я запускаю Java Producer, я получаю Ошибка: не удалось найти или загрузить основной класс Producer
Причина: java.lang.NoClassDefFoundError: Producer (неправильное имя: data/Producer).
Та же ошибка, когда я попробовал Java Producer и Java data.Producer из родительской папки API и Java data.Producer в папке data.
Изображение

  • Что здесь не так? Если я удалю данные пакета;, он компилируется (javac) и нормально запускается (java) в папке data.

Кроме того, когда я пробовал javac Consumer.java, я получаю ошибку: невозможно найти производителя символа
. Они находятся в одной папке и объявлены в одном пакете.
  • Что здесь не так?


Подробнее здесь: https://stackoverflow.com/questions/786 ... ther-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»