我在编译之前添加了一个 ant 任务来格式化源代码。但是,格式化程序在提供文件路径列表时会出现裁剪器,并在作为 java Ant 任务运行时跳过(无法读取)文件。单独或作为批处理运行与脚本相同的脚本不会产生相同的错误。
这是 java Ant 任务的问题吗?在 java 任务中设置 fork = "True" 没有效果。返回的结果代码仍然是 1。
bash 脚本可在我的存储库LearnJava中找到。
这些脚本是:buildant、buildantall、format 和 formatall。
Build.xml 和 build.properties 在每个项目目录下。
您可以尝试单独运行脚本的项目是 Facade2 和 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>
通过将 exec 任务替换为以下内容,我能够修复上述错误:
<fileset dir="${basedir}" id="javasrcs">
<include name="**/*.java" />
</fileset>
<pathconvert property="sources" refid="javasrcs" pathsep=" " />
现在,如何关闭此查询?