java - Java中基本包结构中缺少包
问题描述
我有一个基本的包结构。我在第一个包“pack1”中有主类和播放器类,然后在子目录“pack2”中有一个怪物类。运行这个程序时我需要使用 javac 和 java 命令,因为这是我的作业,但它只是告诉我包 pack1.pack2 不存在。我正在尝试使用命令'javac Main.java'来运行它。如果我删除包并将它们放在同一个文件夹中,那么命令“javac Main.java”可以正常工作。当我使用 Visual Studio Code“运行”命令运行该程序时,它运行良好。
我的文件结构如下所示:
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();
}
}
解决方案
在 pack1 父文件夹上:
编译所有的 java 文件。
javac $(find . -name "*.java")
接着,
java pack1.Main
推荐阅读
- javascript - 嵌入式脚本中的断点
- python - MATLAB 和 Numpy/Scipy 之间的 3d 插值有什么不同吗?
- asp.net - Telerik Kendo UI ASP .NET Core 在网格内上传
- c# - Azure“语音服务”中的“PhraseListGrammar 类”在使用美国英语作为语音识别语言时是否正常工作?
- amazon-web-services - Amazon S3 存储桶策略和 Google 文档视图
- excel - VBA VLookup 找不到成功的匹配项
- excel - 如何从另一行(来自不同的工作簿)中减去整行?
- scala - Spark:groupByKey,右侧带有“Iterator”而不是“Iterable”
- typescript - 双击在量角器类型脚本中不起作用
- javascript - 总是显示弹出窗口