我有這個question批處理文件。我已經知道,不是這個苦差事,我可以通過Ant自動化這個;這是我聽說的工具。我將如何從螞蟻運行這些程序
我想運行此兩個階級,我有一些問題,
- 我是否需要兩個
run
的任務,因爲我需要單獨運行這些程序一個接一個? - 我該如何運行這個程序如果我
jar
呢?我需要兩個dist
任務來創建單獨的罐子嗎?關鍵是我有兩個入口點?
我有這個question批處理文件。我已經知道,不是這個苦差事,我可以通過Ant自動化這個;這是我聽說的工具。我將如何從螞蟻運行這些程序
我想運行此兩個階級,我有一些問題,
run
的任務,因爲我需要單獨運行這些程序一個接一個?jar
呢?我需要兩個dist
任務來創建單獨的罐子嗎?關鍵是我有兩個入口點?這裏有一個快速示例build.xml,它將構建,jar和運行。假設你已經安裝了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>螞蟻構建文件 :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>
使用
<sequential>
<!-- call target1 -->
<!-- call target2 -->
</sequential>
使用Ant,你可以使用[java的任務(HTTP ://ant.apache.org/manual/Tasks/java.html) – PeterMmm
爲什麼要使用Ant?如果你不構建Java程序,使用Ant實際上會使事情變得更加複雜。 –