我已经在编译之前添加了一个蚂蚁任务以格式化源。但是,当提供文件路径和跳过的列表(无法读取(时,格式器会出现一个农作物,当运行作为Java Ant任务时。运行与单独或批处理相同的脚本不会产生相同的错误。
这是Java Ant任务的问题吗?在Java任务中设置FORK =" TRUE"没有效果。返回的结果代码仍然为1。
BASH脚本可在我的存储库Learnjava上找到。
脚本是:Buildant,buildantall,Format和Formatall。
build.xml和build.properties在每个项目目录下。
您可以尝试单独运行脚本的项目是aFaine2和composite2。
您至少需要JDK 8来编译全部。JDK 7将为所有其他项目都使用,除了使用lambda表达式的Composite2。
预先感谢。
蚂蚁任务的设置如下:
<target name="gformat">
<exec executable="find" dir="${basedir}"
failonerror="true" outputproperty="sources">
<arg line=" . -type f -name '*.java'"/>
</exec>
<echo message="About to format ...: ${sources}"/>
<java classname="${gformat.main.class}">
<arg line=" -i ${sources}"/>
<classpath>
<pathelement location="../${gformat.jar}"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
</target>
我能够通过以下来替换执行任务来解决上述错误:
<fileset dir="${basedir}" id="javasrcs">
<include name="**/*.java" />
</fileset>
<pathconvert property="sources" refid="javasrcs" pathsep=" " />
现在,如何关闭此查询?
查找任务的问题在于,它在每个文件名之间将行分隔符与格式化器在命令行中期望的空格字符相比。该解决方案是用空间进行GREP并替换线分离器,或者使用指定的空间分离器使用上述蚂蚁任务。