因此,我用Java创建的程序已经发展到我需要开始将代码放在其他目录中以使其更有条理的程度。我一直遇到的问题是尝试获取两个相互依赖的类,当它们位于不同的目录中时进行编译。这两个文件夹的名称为Items
和Animals
。 Item文件夹同样包含Item
和Animals
的各种不同子类。 Item
的所有者为Animal
,Animal
的列表为Items
。
我发现在Java中我可以使用:
set CLASSPATH=./Animal;./Items
#or
Javac -classpath ./Animal;./Items <list classes>
所以当Player
只需要Animal
和Animal
需要Items
而Items
需要Animal
时,我才尝试同时拨打电话。 make文件的一部分受到影响我有这个:
Player.class: Animal.jar Items.jar
#do Player compiling stuff
Animal.jar: ./Animal/*.java
set CLASSPATH=./AIEngine;./Animal;./Items;./
javac ./Animal/*.java
jar cvfe Animal.jar ./Animal/*.class
Items.jar: ./Items/*.java
set CLASSPATH=./AIEngine;./Animal;./Items;./
javac ./Items/*.java
jar cvfe Items.jar ./Items/*.class
但是Items
抱怨说无法找到Animal
或Animal
抱怨它无法找到Items
。