我不知道为什么我现在无法处理这个问题,但我在一个源文件夹中有四个包:
./src/common
./src/server
./src/client
./src/unittest
Common不使用任何其他文件,但服务器和客户端使用公共包中的文件。在这些包中的每个文件中,我都有import common.*
。但是当我使用javac ./src/server/*.java
运行编译器时,它无法找到common
包。
我可以找到的唯一信息是树形结构的包层次结构,但是如何在与我相同的文件夹高度引用某些内容?我是否需要在服务器和客户端内嵌套?这似乎可能会产生大量冗余代码。
我确定这可能是之前有人问的问题,所以我道歉,但我无法在任何地方找到它。
答案 0 :(得分:1)
如果您希望它自动找到这些文件而不必指定它们,则您需要位于包根目录中,因此请从{{1}内运行此 } :
src
然后就可以了。
但是,我个人总是指定所有你要构建的代码,而不是让javac server/*.java
获取额外的位。如果你想首先构建javac
代码,我会这样做,然后添加一个类路径条目,以便common
将获取已编译的类而不是源代码。
(或者,我大部分时间都花在IDE中,它主要是自动的,然后使用更完整的构建系统,如Ant来进行实际构建。)