У меня есть базовая структура пакета.У меня есть класс Main и класс Player в первом пакете 'pack1', а затем в подкаталоге 'pack2' у меня есть класс Monster.Мне нужно использовать команды javac и java при запуске этой программы, потому что это моя домашняя работа, но она просто говорит мне, что package pack1.pack2 не существует.Я пытаюсь запустить его с помощью команды 'javac Main.java'.Если я удаляю пакеты и помещаю их в одну папку, то команда 'javac Main.java' работает нормально.Когда я запускаю эту программу с помощью команды Visual Studio Code «Run», она работает нормально.
Моя файловая структура выглядит следующим образом:
pack1
|_ Main.java
|_ Player.java
|_ pack2
|_ Monster.java
Я боролся с этим уже 2часами пытаюсь гуглить разные решения но без везения.Я, вероятно, неправильно использую команду javac.Я пытался использовать аргумент -d и некоторые аргументы пути, но, поскольку я не понимаю их ясно, вероятно, это был неправильный способ их использования.
package pack1;
import pack1.pack2.Monster;
public class Main extends Monster {
public static void main(String[] args) {
killPlayer();
}
}
package pack1;
public class Player {
public void shout() {
System.out.println("Shout");
}
}
package pack1.pack2;
import pack1.Player;
public abstract class Monster {
public static void killPlayer() {
Player p = new Player();
p.shout();
}
}