Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取Apache Ant Build上的生成失败错误,即使满足所有依赖项_Java - Fatal编程技术网

Java 获取Apache Ant Build上的生成失败错误,即使满足所有依赖项

Java 获取Apache Ant Build上的生成失败错误,即使满足所有依赖项,java,Java,我正在尝试使用ApacheAnt构建一个项目(所有软件包都安装在WindowsXPSP3上,如SWT、EclipseIndigo)。所有文件都在相应的目录中可用 F:\Work\u Arun\Indic\trunk\Indic keyboards\build-win32-x86.xml:47:执行失败:java.io.IOException:无法运行程序“Cl”(在目录“F:\Work\u Arun\Indic\trunk\Indic keyboards\src\org\iisc\mile\in

我正在尝试使用ApacheAnt构建一个项目(所有软件包都安装在WindowsXPSP3上,如SWT、EclipseIndigo)。所有文件都在相应的目录中可用

F:\Work\u Arun\Indic\trunk\Indic keyboards\build-win32-x86.xml:47:执行失败:java.io.IOException:无法运行程序“Cl”(在目录“F:\Work\u Arun\Indic\trunk\Indic keyboards\src\org\iisc\mile\indickeyboards\windows”中):CreateProcess error=2,系统找不到指定的文件 Build.XML

<?xml version="1.0"?>
<project name="indic-keyboards-win32-x86" default="build">
    <description>indic-keyboards - A Multilingual Indic Keyboard Interface for Indic Scripts</description>

    <property name="debug" value="false" />
    <property name="verbose" value="false" />
    <property name="main.class" value="org.iisc.mile.indickeyboards.IndicKeyboards" />
    <property name="swt" value="swt.jar" />

    <fileset id="ImagesIcons" dir="./resources">
        <patternset includes="*.ico,*.png,*.gif,*.jpg,*.jpeg" />
    </fileset>

    <fileset id="otherfiles" dir=".">
        <patternset includes="*.txt,*.conf" />
    </fileset>

    <fileset id="swtorg" dir="./swt">
        <patternset includes="**/org/**" />
    </fileset>

    <fileset id="swtdll" dir="./swt">
        <patternset>
            <include name="swt*.dll" />
            <include name="version.txt" />
        </patternset>
    </fileset>

    <fileset id="ourdll" dir=".">
        <patternset includes="*.dll" />
    </fileset>

    <target name="init" description="Initialization by creating the directory structure">
        <mkdir dir="bin" />
    </target>

    <target name="header" depends="compile" description="Generates the platform specific header files for building libraries">
        <javah destdir="./src/org/iisc/mile/indickeyboards/windows" classpath="./bin">
            <class name="org.iisc.mile.indickeyboards.windows.PollThread" />
            <class name="org.iisc.mile.indickeyboards.windows.OutputCharToActiveWindow" />
        </javah>
    </target>

    <target name="build" depends="header" description="Creates the windows libraries (.dll files)">
        <property environment="env" />
        <echo>Using JDK present at ${env.JAVA_HOME} ; Architecture : ${env.PROCESSOR_ARCHITECTURE}</echo>
        <exec dir="./src/org/iisc/mile/indickeyboards/windows" executable="Cl">
            <arg line="-I'${env.JAVA_HOME}'\include -I'${env.JAVA_HOME}'\include\win32 -LD /Feindic-keyboards-sysHook.dll syshook.cpp /link user32.lib" />
        </exec>
        <exec dir="./src/org/iisc/mile/indickeyboards/windows" executable="cl">
            <arg line="-I'${env.JAVA_HOME}'\include -I'${env.JAVA_HOME}'\include\win32 -LD /Feindic-keyboards-opChars.dll opChars.cpp /link user32.lib" />
        </exec>
        <move todir=".">
            <fileset dir="./src/org/iisc/mile/indickeyboards/windows">
                <include name="*.dll" />
            </fileset>
        </move>
        <delete>
            <fileset dir="./src/org/iisc/mile/indickeyboards/windows" includes="*.h" />
            <fileset dir="./src/org/iisc/mile/indickeyboards/windows" includes="*.obj" />
            <fileset dir="./src/org/iisc/mile/indickeyboards/windows" includes="*.exp" />
            <fileset dir="./src/org/iisc/mile/indickeyboards/windows" includes="*.lib" />
            <fileset dir="./src/org/iisc/mile/indickeyboards/windows">
                <include name="lib*" />
            </fileset>
        </delete>
    </target>

    <target name="compile" depends="init" description="Compiles the java source code.">
        <echo>Compiling ${ant.project.name}</echo>
        <javac srcdir="src" destdir="bin" classpath="${swt}" debug="${debug}" verbose="${verbose}" />
    </target>

    <target name="run" depends="build" description="Executes the project">
        <echo>Using Java ${ant.java.version} present at ${java.home}</echo>
        <java classpath="${swt}:./bin" classname="org.iisc.mile.indickeyboards.IndicKeyboards" fork="true" />
    </target>

    <target name="jar" depends="build" description="Packages into an executable JAR">
        <mkdir dir="dist" />
        <mkdir dir="swt" />
        <unjar src="${swt}" dest="./swt" />

        <manifest file="MANIFEST.MF">
            <attribute name="Class-Path" value="." />
            <attribute name="Main-Class" value="${main.class}" />
        </manifest>
        <jar destfile="./dist/${ant.project.name}.jar" basedir="bin" duplicate="preserve" manifest="./MANIFEST.MF">
            <fileset refid="swtdll" />
            <fileset refid="swtorg" />
        </jar>
        <delete dir="META-INF" />
        <delete file="./MANIFEST.MF" />
        <delete dir="swt" />
        <copy todir="./dist">
            <fileset refid="ourdll" />
        </copy>

        <mkdir dir="./dist/kblayouts" />
        <copy todir="./dist/kblayouts">
            <fileset dir="./kblayouts" />
        </copy>

        <mkdir dir="./dist/resources" />
        <copy todir="./dist/resources">
            <fileset dir="./resources" />
        </copy>

        <mkdir dir="./dist/docs" />
        <copy todir="./dist/docs">
            <fileset dir="./docs" />
        </copy>

        <copy todir="./dist">
            <fileset refid="otherfiles" />
        </copy>
        <delete dir="./bin" />
    </target>

    <target name="javadoc" depends="init" description="Generates javadoc of the source">
        <mkdir dir="./javadoc" />
        <javadoc destdir="./javadoc" sourcepath="./src" packagenames="org.*" Private="true" />
        <delete dir="./bin" />
    </target>

    <target name="clean" description="Clean up after compile/build.">
        <delete dir="./bin" />
        <delete dir="./javadoc" />
        <delete dir="./dist" />
        <delete>
            <fileset dir="./" includes="*.dll" />
        </delete>
    </target>

</project>

印度语键盘-印度语脚本的多语言印度语键盘接口
在${env.JAVA_HOME}中使用JDK;体系结构:${env.PROCESSOR_Architecture}
正在编译${ant.project.name}
使用位于${Java.home}的Java${ant.Java.version}

错误的原因是什么?

似乎将build.xml名称传递给ant是不正确的。你能提供关于如何调用ant和参数的详细信息吗?我会在/src/org/iisc/mile/keyboards/windows下查看cl.exe是否存在?是的。该文件存在于那里。CPP代码编译正确我发现有一个案例差异。。第一个exec使用Cl。。。另一种使用cl。。。windows不区分大小写不重要。。。但值得一试!但它仍然不起作用。。