转义Ant中的反斜杠+多个目录编译

时间:2017-07-07 12:09:53

标签: java ant

我已经检查过这个问题而没有找到答案。 how to escape backslash in ant

我正在尝试编译存在于多个目录中的.java个文件。 示例:这是我的文件夹结构:

->testprojects
    ->com.junit.abc
         ->src
            ->junit tests to run

    ->com.junit.bcd
        ->src
            ->junit tests to run

    ->com.junit.xyz
        ->src
            ->junit tests to run

    ->com.junit.pqr
        ->src
            ->junit tests to run

脚本必须找到src文件夹中的所有文件并进行编译。 所以我创建了文件所在目录的dirset<dirset id="dist.contents" dir="${src.dir}" includes="**/*junit*/src"/> <property name="prop.dist.contents" refid="dist.contents"/> <echo>${prop.dist.contents}</echo> <target name="compile"> <delete dir="${classes.dir}" /> <mkdir dir="${classes.dir}"/> <javac srcdir="${src.dir} \${prop.dist.contents}" destdir="${classes.dir}" includeantruntime="false" debug="true"> <classpath> <path refid="ALL.jars"/> <path refid="classpath"/> <pathelement location="D:/NEON/HW/CodeCheck/lib/javaparser-core-3.2.5.jar"/> <pathelement location="C:/Program Files/Java/jdk1.8.0_111/jre/lib/rt.jar"/> </classpath> <compilerarg value="-Xlint"/> <compilerarg line="-Xmaxerrs 10000" /> </javac> <copy todir="${classes.dir}"> <fileset dir="${src.dir}" includes="**/*.properties" /> </copy> </target 。 我只需要将驱动器的名称附加到它,以使其成为正确的路径 像

  

&#34; d:\&#34; +&#34; NEON \ HW \ testprojects \ SRC&#34;

但我需要逃避反斜杠才能使路径正常工作。

prop.dist.contents是路径的其余部分

我的build.xml的片段:

prop.dist.contents

但由于某种原因,这会将C:\JUnit\apache-ant-1.10.1\build.xml:46: srcdir "C:\JUnit\apache-ant-1.10.1\com.**.junit\src" does not exist! 链接到我的build.xml(工作目录)的位置

收到错误:

client.GetStreamAsync(url)

问题:

  1. 如何逃避反斜杠的工作路径?
  2. 这种方法有用吗? Ant能够从这样的多个目录中编译java文件吗?如果没有,有没有合适的替代方案?

0 个答案:

没有答案