跟据你的做了一个测试,如下目录:
src
├─test1
│ Test1.java
│
└─test2
Test2.java
以编译Test1.java为例,
---------------------------------------------
先在src路径下编译
x:\src>javac test1/Test1.java,
没有出现任何问题,执行后结果为理想结果.
结论一:编译路径src 下可以找到源文件test1/Test1.java,test2/Test2.java,可以直接编译
---------------------------------------------------
然后在src/test1路径下编译:
x:\src\test1>javac Test1.java
出现如下错误:
Test1.java:3: 软件包 test2 不存在
import test2.Test2;
^
Test1.java:12: 找不到符号
符号: 类 Test2
位置: 类 test1.Test1
Test2 t = new Test2();
^
Test1.java:12: 找不到符号
符号: 类 Test2
位置: 类 test1.Test1
Test2 t = new Test2();
^
3 错误
结论二:编译路径src/test1下找不到源文件test2/Test2.java,故无法编译
-------------------------------------------------------
再同时编译两个相互引用的文件
x:\src\test1>javac Test1.java ../test2/Test2.java
可以正确编译,结果正确!
结论三:编译路径src/test1下找不到源文件test2/Test2.java,将Test2.java同时编译即可.