не могу найти или загрузить основной класс с Java - PullRequest
0 голосов
/ 07 октября 2019

имя файла first.java

package p1;

public class first
{
int a;
    public void display()
{
    System.out.println(a);
}

}

второй файл sec.java

package p2;

import p1.first;

class sec
{   
public static void main(String args[])
    {   
first obj=new first();  
obj.display();  
}

}

Получение этой ошибки при попытке запустить после компиляции

Copyright (C) Корпорация Майкрософт. Все права защищены.

PS C:\Users\shaik\Documents\Java> javac -d C:\Users\shaik\Documents\Java first.java
PS C:\Users\shaik\Documents\Java> javac -d C:\Users\shaik\Documents\Java sec.java
PS C:\Users\shaik\Documents\Java> java -classpath C:\Users\shaik\Documents\Java sec

Error: Could not find or load main class sec

1 Ответ

0 голосов
/ 07 октября 2019

структура файла должна соответствовать структуре пакета. Вам нужен каталог, который мы назовем 'sourcebase', который содержит каталог с именем p1, и в этом каталоге должен быть файл с именем first.java.

Затем для запуска этого кода после компиляцииэто, вам нужен каталог, который мы назовем 'classbase', содержащий каталог с именем p1, содержащий файл с именем first.class. То же самое касается вашего второго класса. Когда у вас есть все это, вы можете выполнить:

java -classpath classbase p2.sec

и обратите внимание, что имя вашего класса - p2.sec. Не sec. Никакое количество ошибок в пути к классам даже не заставит java sec запустить ваше приложение. В исходном коде, если вы находитесь в том же пакете (например, p2), или у вас есть import p2.sec; statemente вверху, вы можете просто набрать sec, чтобы обратиться к p2.sec, но везде -включая в качестве аргумента для приложения java, он называется p2.sec.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...