Java не может найти или загрузить основной класс, используя -cp. package.class

1

Кажется, у меня проблема с классом java;

У меня есть статический метод main(String[] args){};

Класс называется Test, в пакете ptest

Я Test.class файл Test.class в папку C:\Test\

Затем я перехожу к этому местоположению в командной строке.

Наконец, в командной строке я запускаю следующее: "java -cp. Ptest.Test"

Это возвращает:

Error: Could not find or load main class ptest.Test

Что мне не хватает в этот момент? Что еще может вызвать эту ошибку? Что я делаю неправильно?!

Теги:

2 ответа

2
Лучший ответ

Создайте новую папку C:\Test\ptest, переместите Test.class в c:\Test\ptest\Test.class. cd\Test, затем java -cp. ptest.Test java -cp. ptest.Test

Структура пакета соответствует структуре каталога вывода.

Из управления файлами источника и класса (учебные пособия по Java)

Поместите исходный код для класса, интерфейса, перечисления или типа аннотации в текстовый файл, имя которого является простым именем типа и расширение которого является.java. Например:

 //in the Rectangle.java file 
 package graphics;
 public class Rectangle {
    ... 
 }

Затем поместите исходный файл в каталог, имя которого отражает имя пакета, к которому принадлежит этот тип:

.....\графика\Rectangle.java

Квалифицированное имя члена пакета и имя пути к файлу являются параллельными, предполагая, что обратная косая черта имени файла Microsoft Windows (для UNIX, используйте косую черту).

 class name – graphics.Rectangle
 pathname to file – graphics\Rectangle.java
  • 0
    Это работает, я создал папку пакета и поместил туда свой файл класса. Затем я вернулся в корневую папку и выполнил java -cp . ptest.Test от C:\Test . Спасибо! (будет принимать как можно скорее!)
1

Пакеты сопоставляются с папками в вашей файловой системе.

Таким образом, ptest.Test сопоставляет с ptest/Test.class любом месте вашего пути к классам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню