当我尝试在GL服务器上运行程序时,出现错误。此外,我们有两个包,一个是一切,另一个是包含Driver.java的驱动程序包。它运行程序。
建立失败 目标"运行"项目中不存在"自动填充"。
这是为什么?这是我的build.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- WARNING: Eclipse auto-generated file.
Any modifications will be overwritten.
To include a user specific buildfile here, simply create one in the same
directory with the processing instruction <?eclipse.ant.import?>
as the first entry and export the buildfile again. -->
<project basedir="." default="build" name="AutoFill">
<property environment="env"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.7"/>
<property name="source" value="1.7"/>
<path id="AutoFill.classpath">
<pathelement location="bin"/>
</path>
<target name="init">
<mkdir dir="bin"/>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src">
<exclude name="**/*.launch"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="bin"/>
</target>
<target depends="clean" name="cleanall"/>
<target depends="build-subprojects,build-project" name="build"/>
<target name="build-subprojects"/>
<target depends="init" name="build-project">
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true" debuglevel="${debuglevel}" destdir="bin"
includeantruntime="false" source="${source}" target="${target}">
<src path="src"/>
<classpath refid="AutoFill.classpath"/>
</javac>
</target>
<target description="Build all projects which reference this project. Useful to
includeantruntime="false" source="${source}" target="${target}">
<target description="copy Eclipse compiler jars to ant lib directory" name="init-
<copy todir="${ant.library.dir}">
<fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
</copy>
<unzip dest="${ant.library.dir}">
<patternset includes="jdtCompilerAdapter.jar"/>
<fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
</unzip>
</target>
<target description="compile project with Eclipse compiler" name="build-eclipse
compiler">
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
<antcall target="build"/>
</target>
<target name="MaxHeap">
<java classname="proj3.MaxHeap" failonerror="true" fork="yes">
<classpath refid="AutoFill.classpath"/>
</java>
</target>
<target name="Driver">
<java classname="driver.Driver" failonerror="true" fork="yes">
<classpath refid="AutoFill.classpath"/>
</java>
</target>
</project>
答案 0 :(得分:0)
我在这里重新格式化了build.xml
。它有一些问题:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="build" name="AutoFill">
<property environment="env"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.7"/>
<property name="source" value="1.7"/>
<path id="AutoFill.classpath">
<pathelement location="bin"/>
</path>
<target name="init">
<mkdir dir="bin"/>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src">
<exclude name="**/*.launch"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="bin"/>
</target>
<target name="cleanall" depends="clean"/>
<target name="build"
depends="build-subprojects, build-project"/>
<target name="build-subprojects"/>
<target name="build-project"
depends="init">
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true"
debuglevel="${debuglevel}"
destdir="bin"
includeantruntime="false"
source="${source}"
target="${target}">
<src path="src"/>
<classpath refid="AutoFill.classpath"/>
</javac>
</target>
<!-- Something happened here... -->
<target
description="Build all projects which reference this project. Useful to "/>
<!-- includeantruntime="false" source="${source}" target="${target}"> -->
<!-- Something happened to the name of this target -->
<target name="init-"
description="copy Eclipse compiler jars to ant lib directory">
<copy todir="${ant.library.dir}">
<fileset dir="${ECLIPSE_HOME}/plugins"
includes="org.eclipse.jdt.core_*.jar"/>
</copy>
<unzip dest="${ant.library.dir}">
<patternset includes="jdtCompilerAdapter.jar"/>
<fileset dir="${ECLIPSE_HOME}/plugins"
includes="org.eclipse.jdt.core_*.jar"/>
</unzip>
</target>
<!-- Something happened to this target name -->
<target name="build-eclipse compiler"
description="compile project with Eclipse compiler">
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
<antcall target="build"/>
</target>
<target name="MaxHeap">
<java classname="proj3.MaxHeap"
failonerror="true" fork="yes">
<classpath refid="AutoFill.classpath"/>
</java>
</target>
<target name="Driver">
<java classname="driver.Driver"
failonerror="true" fork="yes">
<classpath refid="AutoFill.classpath"/>
</java>
</target>
</project>
我不知道你是否错误地复制了它,但它现在不是一个有效的Ant构建文件。您可能想查看您的帖子,看看您是否遗漏了任何内容。
您的错误很简单。您没有名为run
的目标。我不知道你为什么要执行它。 (也许它出现在你build.xml
的一部分中。
有效目标是:
如果您尝试编译此项目,则需要运行build-project
或build
目标,而不是run
。 (build-project
和build
都做同样的事情。)
如果您尝试运行某个程序,MaxHeap
和Driver
是build.xml
中唯一的两个Java可执行目标。
因此,您可能希望执行目标build
,然后Driver
或MaxHeap
。