我如何从蚂蚁运行这些程序

时间:2014-02-05 16:36:35

标签: java ant

我有批处理文件question。我已经知道,我可以通过Ant实现自动化,而不是这种苦差事。这就是我听到的工具。

我想运行这两个课程,我有一些问题,

  • 我是否需要两个run任务,因为我需要一个接一个地分别运行这些程序?
  • 如果我jar,我将如何运行此程序?我需要两个dist任务来创建单独的罐子吗?问题是我有两个切入点?

2 个答案:

答案 0 :(得分:2)

这是一个快速示例build.xml,它将构建,运行和运行。假设您已经安装了Ant,那么只需在基础文件夹中运行ant,它将完成剩下的工作。我的输出如下所示。

<project name="myproject" basedir="." default="all">

<property name="build.dir" value="${basedir}/build"/>
<property name="dist.dir" value="${basedir}/dist"/>
<property name="src.dir" value="${basedir}/src"/>
<property name="jar.name" value="myjar.jar"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property file="${basedir}/build.properties"/>

<target name="all" depends="clean, compile, jar, run"/>

<target name="clean" description="cleans all build directories">
    <delete dir="${build.dir}"/>
</target>

<target name="compile" description="compiles the project">
    <mkdir dir="${classes.dir}"/>
    <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="on" deprecation="on" optimize="on" fork="true" memoryMaximumSize="256m">
        <include name="**/*.java"/>
    </javac>
</target>

<target name="jar" description="Jars the files and signs the jar file">
    <jar jarfile="${build.dir}/${jar.name}">
        <manifest>
            <attribute name="Built-By" value="${user.name}"/>
        </manifest>
        <fileset dir="${classes.dir}">
            <include name="**/*.*"/>
        </fileset>
    </jar>
</target>

<target name="run" description="runs tasks">
    <echo>Running task 1</echo>
     <java classname="test.Main1">
     <classpath>
       <pathelement location="${build.dir}/${jar.name}"/>
     </classpath>
   </java>
   <echo>Running task 2</echo>
   <java classname="test.Main2">
     <classpath>
       <pathelement location="${build.dir}/${jar.name}"/>
     </classpath>
   </java>
</target>
</project>

这是Main1的src。 Main2只是将Main1更改为Main2 包装测试;

public class Main1  {
    public static void main(String[] args) {
        System.out.println("Task 1...");
    }
}

输出:     C:\客户\的StackOverflow&GT;蚂蚁     Buildfile:build.xml

clean:
   [delete] Deleting directory c:\Customers\StackOverflow\build

compile:
    [mkdir] Created dir: c:\Customers\StackOverflow\build\classes
    [javac] Compiling 2 source files to c:\Customers\StackOverflow\build\classes

jar:
  [jar] Building jar: c:\Customers\StackOverflow\build\myjar.jar

run:
    [echo] Running task 1
    [java] Task 1...
    [echo] Running task 2
     [java] Task 2...

 all:

BUILD SUCCESSFUL
Total time: 0 seconds

c:\Customers\StackOverflow>

答案 1 :(得分:0)

使用

<sequential>

<!-- call target1 -->
<!-- call target2 -->

</sequential>