Java:多个包最小工作示例

时间:2014-08-06 23:51:54

标签: java

试图了解Java包如何使用类路径等。在〜/ java / tmp / test / HelloWorld中我创建了HelloWorld.java:

package test;
import test2.Hello2;
public class HelloWorld {
    public static void main(String[] args) {
        Hello2 x = new Hello2();
        x.blagh(args);
    }
}

然后在〜/ java / tmp / test2 / Hello2中我创建了Hello2.java:

package test2;
public class Hello2
{
    public static void blagh(String[] args) {
        System.out.println("Hello, World");
    }
}

在〜/ java / tmp中工作,我尝试使用:

进行编译
javac -g test/HelloWorld/HelloWorld.java

我收到以下错误:

test/HelloWorld/HelloWorld.java:3: package test2 does not exist
import test2.Hello2;
            ^
test/HelloWorld/HelloWorld.java:8: cannot find symbol
symbol  : class Hello2
location: class test.HelloWorld
        Hello2 x = new Hello2();
        ^
test/HelloWorld/HelloWorld.java:8: cannot find symbol
symbol  : class Hello2
location: class test.HelloWorld
        Hello2 x = new Hello2();

我已经尝试过设置类路径(我想到的上述路径的每个可能组合),更改我运行编译器的目录等等。没有任何作用。请帮忙。

1 个答案:

答案 0 :(得分:1)

您的HelloWorld.java属于包test,因此它应该位于名为test的目录中,而不是test/HelloWorld。与Hello2.java相同,它应该位于test2,而不是test2/Hello2。将HelloWorld.java移至test目录,将Hello2.java移至test2目录,然后再试一次。