Java 设置bat文件中的类路径

Java 设置bat文件中的类路径,java,batch-file,javac,Java,Batch File,Javac,我正在尝试使用以下类创建compile.bat文件:HumanTest(main方法)、Man、Food。下面是3个类的代码。在这种情况下,Food已经编译好了,我没有相应的.java文件 package human.man; public class Man { private String name; private Food f; public Man(String name, Food f) { this.name = name;

我正在尝试使用以下类创建compile.bat文件:HumanTest(main方法)、Man、Food。下面是3个类的代码。在这种情况下,Food已经编译好了,我没有相应的.java文件

package human.man;

public class Man {

    private String name;
    private Food f;

    public Man(String name, Food f) {
        this.name = name;
        this.f = f;
    }
}

public class Food {
    private String foodName;

    public Food(String name) {
        foodName = name;
    }
}

import human.man.*;
public class HumanTest {
    public static void main (String[] args) {
        Food f = new Food("ckt");
        Man m = new Man("joe", f);
    }
}
在compile.bat中,我运行以下代码
javac-cp类;src HumanTest.java
但我得到的错误是找不到食物类。我想知道为什么会这样,尽管我已经为Food.class设置了类路径。以下是文件的链接:

编辑: 下面是树形图,如果我画错了一定要告诉我

--Question
  |--compile.bat
  |--HumanTest.java
  |--classes
     |--Food.class
  |--src
     |--human
        |--man
           |--Man.java

问题与批处理文件无关,而完全与类的组织有关。不能从命名包导入默认包,也不能从命名包中的类使用默认包中的类


在类human.man.man中,您试图使用默认包中的类食品。试着把食物移到指定的包装中。

你能把你正在使用的目录,以及你的
.java
.class
文件放在哪里画个图表吗?也许可以把它放在罐子里?谁分发了.class文件?如果我没有Food.java文件可编辑,这是否意味着我根本无法编译此文件?您可以编译它,但前提是您的类本身位于默认命名空间中。这就是为什么不建议使用默认名称空间的原因。如果您想使用Food.class的类,那么编写Food.class的人会强迫您将类放在默认名称空间中。这不好。