为多个项目构建脚本

时间:2012-11-30 10:28:55

标签: ant

  

可能重复:
  Intermodule dependency in ant

我有三个java项目,如下所示

报告,核心,应用

其中Core依赖于Report,因此第一个报告应转换为jar并嵌入到core中然后Core需要转换为jar,核心和报告都需要嵌入到Apps中,应用程序应转换为可执行jar

如何为上述内容编写ANT脚本?

由于

1 个答案:

答案 0 :(得分:0)

由于应用程序目标取决于核心,核心依赖于报告,并且所有三个都创建了jar ...因此我们可以使用antcall目标...您可以定义路径元素和createjar目标...

创建一个公共路径条目......

<path id="master-classpath">
    <fileset dir="${lib/dir}">
        <include name="*.jar"/>
    </fileset>
    <pathelement path="${build.dir}"/>
</path> 

<target name="createJar" description="creating the jar">
    <javac destdir="${build.dir}" ncludeantruntime="false">
        <src path="${src.dir}"/>
     <classpath refid="${var-classpath}"/>
    </javac>
    <WRITE CODE FOR JAR CREATION>
    <copy the jar to lib/dir>
</target>

<target name="report">
 <antcall target="createJar">
     <param name="src.dir" value="./src/reports"/>
    <param name="var-classpath" value="master-classpath"/>
        <param name="jar-name" value="reports.jar"/>
  </antcall>
</target>

<target name="core" depends="report">
 <antcall target="createJar">
     <param name="src.dir" value="./src/core"/>
        <param name="jar-name" value="core.jar"/>
  </antcall>
</target>

<target name="apps" depends="core">
 <antcall target="createJar">
     <param name="src.dir" value="./src/core"/>
        <param name="jar-name" value="core.jar"/>
  </antcall>
</target>

这样的内容可以帮助您创建文件。此代码不完整。您需要进行大量更改才能使其正常工作......