一个项目有多个子模块的时候,子模块之间可能会存在相互依赖问题,这时候无论先编译哪个模块都无法将依赖问题解决,得出所有模块的二进制文件。关于这个问题,提出以下解决办法。

这个解决思路来自于eclipse,开发在使用eclipse进行export导出的时候,没有循环依赖的问题,这个后来发现,在编译器里,自动就会处理这个问题,会检索对应的依赖关系,按需求编译。

这个方法不适用java文件级别的循环依赖。

<target depends="init" name="build-project">
        <echo message="${ant.project.name}: ${ant.file}"/>
        <javac debug="true" debuglevel="${debuglevel}" destdir="WebRoot/WEB-INF/classes" includeantruntime="false" source="${source}" target="${target}">
            <src path="src"/>
            <src path="test"/>
            <src path="src1"/>
            <classpath refid="credit.classpath"/>
        </javac>
</target>

Q.E.D.


知之为知之