引用水平Java包

时间:2014-05-04 19:17:19

标签: java packages

我不知道为什么我现在无法处理这个问题,但我在一个源文件夹中有四个包:

./src/common
./src/server
./src/client
./src/unittest

Common不使用任何其他文件,但服务器和客户端使用公共包中的文件。在这些包中的每个文件中,我都有import common.*。但是当我使用javac ./src/server/*.java运行编译器时,它无法找到common包。

我可以找到的唯一信息是树形结构的包层次结构,但是如何在与我相同的文件夹高度引用某些内容?我是否需要在服务器和客户端内嵌套?这似乎可能会产生大量冗余代码。

我确定这可能是之前有人问的问题,所以我道歉,但我无法在任何地方找到它。

1 个答案:

答案 0 :(得分:1)

如果您希望它自动找到这些文件而不必指定它们,则您需要位于包根目录中,因此请从{{1}内运行此 }

src

然后就可以了。

但是,我个人总是指定所有你要构建的代码,而不是让javac server/*.java 获取额外的位。如果你想首先构建javac代码,我会这样做,然后添加一个类路径条目,以便common将获取已编译的类而不是源代码。

(或者,我大部分时间都花在IDE中,它主要是自动的,然后使用更完整的构建系统,如Ant来进行实际构建。)