Java基本包结构中缺少包
我有一个基本的包结构。我在第一个包“pack1”中有主类和玩家类,然后在子目录“pack2”中有一个怪物类。我需要在运行这个程序时使用javac和java命令,因为这是我的家庭作业,但它只是告诉我pack1.pack2包不存在。我试图使用命令“javacmain.java”来运行它。如果我删除包并将它们放在同一个文件夹中,那么命令“javacmain.java”可以正常工作。当我使用visualstudio代码“run”命令运行这个程序时,它运行得很好 我的文件结构如下所示:Java基本包结构中缺少包,java,import,package,Java,Import,Package,我有一个基本的包结构。我在第一个包“pack1”中有主类和玩家类,然后在子目录“pack2”中有一个怪物类。我需要在运行这个程序时使用javac和java命令,因为这是我的家庭作业,但它只是告诉我pack1.pack2包不存在。我试图使用命令“javacmain.java”来运行它。如果我删除包并将它们放在同一个文件夹中,那么命令“javacmain.java”可以正常工作。当我使用visualstudio代码“run”命令运行这个程序时,它运行得很好 我的文件结构如下所示: pack1 |_
pack1
|_ Main.java
|_ Player.java
|_ pack2
|_ Monster.java
在过去的两个小时里,我一直在努力解决这个问题,试图用谷歌搜索不同的解决方案,但没有成功。我可能用错了javac命令。我尝试过使用-d参数和一些路径参数,但由于我不清楚它们,所以使用它们可能不是正确的方法
pack1;
导入pack1.pack2.Monster;
公共类主类{
公共静态void main(字符串[]args){
killPlayer();
}
}
pack1;
公开课选手{
公共图书馆{
System.out.println(“Shout”);
}
}
包pack1.pack2;
导入pack1.Player;
公共抽象类怪物{
publicstaticvoidkillplayer(){
玩家p=新玩家();
p、 呼喊();
}
}
在pack1父文件夹上:
编译所有java文件
javac $(find . -name "*.java")
然后呢,
java pack1.Main
您需要显式地为javac编译器提供所有文件路径。看看这篇文章,递归地编译目录中的所有文件。