Не удалось найти или загрузить пакет основного класса. ClassName - PullRequest
1 голос
/ 11 марта 2020

У меня есть два пакета и классы. Первый пакет

D: \ User \ java \ java_programs \ mypackage \ A. java

package mypackage;
public class A
{
    public void msg(String name)
    {
        System.out.println("Hello "+name);
    }
    public static void main (String args[])
    {
        System.out.println("hello User");
    }
}   

и там другой класс B в C: \ package1 \ B. java

package package1;
import mypackage.A;
public class B
{
    public static void main (String args[])
    {
        A obj = new A();
        obj.msg("User");
    }
}   

Я скомпилировал

C:\package1>javac -cp d:\User\java\java_programs\ B.java

А Он создал файлы классов для A. java и B. java

Но я не могу запустить свой код

Я пытался

java -cp d:\User\java\java_programs\ package1.B

Но ошибка

Ошибка: не удалось найти или загрузить основной класс package1.B

1 Ответ

1 голос
/ 13 марта 2020

Вам нужно прочитать о том, как работает Java classpath, для package1 ваш root classpath будет C:\. Если вы добавите C:\ к аргументу -cp, он будет делать то, что вам нужно.

Командная строка становится

java -cp C:\;D:\User\java\java_programs package1.B 

Путь к классу Java состоит из папок root в какие структуры вашего пакета можно найти. (Jar-файлы содержат структуру папок, начиная с root.)

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