试图了解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();
我已经尝试过设置类路径(我想到的上述路径的每个可能组合),更改我运行编译器的目录等等。没有任何作用。请帮忙。
答案 0 :(得分:1)
您的HelloWorld.java
属于包test
,因此它应该位于名为test
的目录中,而不是test/HelloWorld
。与Hello2.java
相同,它应该位于test2
,而不是test2/Hello2
。将HelloWorld.java
移至test
目录,将Hello2.java
移至test2
目录,然后再试一次。