【问题标题】:Package missing in basic package structure in JavaJava中基本包结构中缺少包
【发布时间】:2019-09-21 10:48:10
【问题描述】:

我有一个基本的包结构。我在第一个包“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();
    }
}

【问题讨论】:

标签: java import package


【解决方案1】:

在 pack1 父文件夹上:

编译所有的 java 文件。

javac $(find . -name "*.java")

然后,

java pack1.Main

【讨论】:

    猜你喜欢
    • 2020-08-15
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多