使用 Ant 编译器任务强制实施编译依赖关系


我们的

(Java)环境中不允许某些编译器依赖项。我们有两个服务器,称为应用程序和进程。我们有三个根 Java 包,称为应用程序、进程和共享。应用程序和进程不允许相互引用,但它们可以各自引用共享。共享可以引用其他两个包中的任何一个中的任何类。如何使用 Ant 强制执行这些依赖项?正如您可能猜到的那样,问题在于,在我们基于 Eclipse 的环境中,一切都可以成功编译,但是我们遇到了运行时错误,其中没有类(因为我们有多个服务器)。

我尝试了很多事情,但没有任何效果。请参阅下面的我当前的尝试,为了清楚起见,我省略了不相关的代码。包括注释。

<!--Compile the 'shared' directories. Since shared depends on Application and Process, we compile everything then delete Application and Process later. -->
    <javac srcdir="${src.dir}" destdir="${build.dir}">
        <classpath>
            ...
        </classpath>
      </javac>

<delete dir="${build.dir}/application" />
<delete dir="${build.dir}/process" />
<!--Compile the 'application' directories -->
<javac sourcepath="" srcdir="${src.dir}/application" destdir="${build.dir}">
    <classpath>
        <pathelement location="${build.dir}/shared" /> 
        ...
    </classpath>
  </javac>
<!--Compile the 'process' directories -->
<javac sourcepath="" srcdir="${src.dir}/process" destdir="${build.dir}">
        <classpath>
            <pathelement location="${build.dir}/shared" /> 
            ...
        </classpath>
  </javac>

您需要将共享拆分为三个部分,共享独立,共享应用程序和共享进程。

首先编译共享-独立,

将共享应用程序与应用程序一起编译,

将共享流程与进程一起编译。

相关内容

  • 没有找到相关文章

最新更新