在bat文件中设置-classpath

时间:2017-01-13 12:57:18

标签: 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;
        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 classes;src HumanTest.java 但是我得到了无法找到Food类的错误。我想知道为什么会这样,即使我已经为Food.class设置了类路径。以下是文件的链接:https://www.dropbox.com/s/2wussnm55tbnh3t/Question.zip?dl=0

编辑: 下面是树形图,如果我错误地绘制它,请告诉我!

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

1 个答案:

答案 0 :(得分:0)

问题与批处理文件无关,但纯粹与您的类的组织有关。您无法从命名包中导入默认包,也无法使用命名包中的类的默认包中的类。

在类human.man.Man中,您正在尝试使用默认包中的类Food。尝试将Food移动到命名包中。