我有這樣的XML代碼腳本,它說,使用命令提示符來執行,但一切我試圖不工作,它具有規定我執行什麼命令來運行該XML文件
克隆自述文件該項目與git或從github頁面下載源zip並提取它。
打開文件夾並運行build.xml(這可能需要執行cmd)。
等待構建完成並從cmd運行DarkBot.jar,使用--help參數指定參數。
<project name="DarkBot" default="generate-protocols" basedir=".">
<target name="init">
<property name="outputDir" value="bin" />
<property name="protocolsDir" value="protocols" />
<property name="protocolsPackage" value="org.darkstorm.darkbot.minecraftbot.protocol" />
<property name="deployJar" value="DarkBot.jar" />
<property name="libraryDir" value="lib" />
<property name="tempDir" value="temp" />
<property name="mainClass" value="org.darkstorm.darkbot.mcwrapper.Main" />
<property name="antContribPath" value="build/ant-contrib-1.0b3.jar" />
</target>
<target name="clean" depends="init">
<delete file="${deployJar}" failonerror="false" />
<delete dir="${outputDir}" failonerror="false" />
<delete dir="${tempDir}" failonerror="false" />
</target>
<target name="compile" depends="clean">
<mkdir dir="${outputDir}" />
<javac encoding="UTF-8" destdir="${outputDir}" includeantruntime="false">
<src path="src/main/java" />
<src path="src/main/resources" />
<classpath>
<fileset dir="${libraryDir}">
<include name="**/*.jar" />
</fileset>
</classpath>
</javac>
<copy todir="${outputDir}">
<fileset dir="src/main/java">
<exclude name="**/*.java" />
</fileset>
<fileset dir="src/main/resources">
<exclude name="**/*.java" />
</fileset>
</copy>
</target>
<target name="deploy" depends="compile">
<mkdir dir="${tempDir}" />
<unzip dest="${tempDir}">
<patternset>
<exclude name="META-INF/**" />
</patternset>
<fileset dir="${libraryDir}">
<include name="**/*.jar" />
</fileset>
</unzip>
<copy todir="${tempDir}">
<fileset dir="${outputDir}">
<include name="*" />
</fileset>
</copy>
<echo message="Manifest-Version: 1.0${line.separator}Class-Path: .${line.separator}Main-Class: ${mainClass}" file="${outputDir}/manifest.txt" />
<jar destfile="${deployJar}" basedir="${outputDir}" manifest="${outputDir}/manifest.txt" excludes="manifest.txt" />
<jar destfile="${deployJar}" basedir="${tempDir}" includes="**/**" update="true" />
<delete dir="${tempDir}" />
</target>
<target name="generate-protocols" depends="deploy">
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="${antContribPath}" />
</classpath>
</taskdef>
<mkdir dir="${protocolsDir}" />
<javac encoding="UTF-8" destdir="${protocolsDir}" includeantruntime="false">
<src path="src/main/protocols" />
<classpath>
<fileset file="${deployJar}" />
<fileset dir="${libraryDir}">
<include name="**/*.jar" />
</fileset>
</classpath>
</javac>
<propertyregex property="protocolsFolder" input="src.main.protocols.${protocolsPackage}" global="true" regexp="\." replace="/" />
<pathconvert property="files" pathsep="${line.separator}">
<map from="${protocolsFolder}{$file.separator}" to="" />
<dirset dir="${protocolsFolder}">
<include name="*" />
</dirset>
</pathconvert>
<propertyregex property="protocolsFolder" override="true" input="${protocolsPackage}" global="true" regexp="\." replace="/" />
<for list="${files}" delimiter="${line.separator}" param="file">
<sequential>
<local name="protocolVersion" />
<basename property="protocolVersion" file="@{file}" />
<mkdir dir="${protocolsDir}/META-INF/services" />
<if>
<contains string="${protocolVersion}" substring="x" />
<then>
<propertyregex property="protocolVersion" override="true" input="${protocolVersion}" regexp="v([0-9]+)" select="\1" />
<echo message="${protocolsPackage}.v${protocolVersion}x.Protocol${protocolVersion}X$$Provider" file="${protocolsDir}/META-INF/services/${protocolsPackage}.ProtocolProvider" />
<jar destfile="${protocolsDir}/v${protocolVersion}x.jar" update="false" basedir="${protocolsDir}" includes="${protocolsFolder}/v${protocolVersion}x/**/**,META-INF/**/**" />
</then>
<else>
<propertyregex property="protocolVersion" override="true" input="${protocolVersion}" regexp="v([0-9]+)" select="\1" />
<echo message="${protocolsPackage}.v${protocolVersion}.Protocol${protocolVersion}$$Provider" file="${protocolsDir}/META-INF/services/${protocolsPackage}.ProtocolProvider" />
<jar destfile="${protocolsDir}/v${protocolVersion}.jar" update="false" basedir="${protocolsDir}" includes="${protocolsFolder}/v${protocolVersion}/**/**,META-INF/**/**" />
</else>
</if>
<delete dir="${protocolsDir}/META-INF" />
</sequential>
</for>
<propertyregex property="protocolBase" input="${protocolsPackage}" regexp="^([a-zA-Z][a-zA-Z0-9]+).*" select="\1" />
<delete dir="${protocolsDir}/${protocolBase}" />
</target>
這看起來像一個[Ant](http://ant.apache.org)構建腳本 – user3159253