我有批处理文件question。我已经知道,我可以通过Ant实现自动化,而不是这种苦差事。这就是我听到的工具。
我想运行这两个课程,我有一些问题,
run
任务,因为我需要一个接一个地分别运行这些程序?jar
,我将如何运行此程序?我需要两个dist
任务来创建单独的罐子吗?问题是我有两个切入点?答案 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>