gpt4 book ai didi

java - Google Java Format 在格式化时无法读取文件

转载 作者:行者123 更新时间:2023-12-02 05:42:38 26 4
gpt4 key购买 nike

我添加了一个 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 之外的所有其他项目。

提前致谢。

ant任务设置如下:

<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=" " />

现在,我该如何关闭此查询?

最佳答案

查找任务的问题在于,它在每个文件名之间放置了一个行分隔符,而不是格式化程序在命令行上期望的空格字符。解决方案是 grep 并将行分隔符替换为空格,或者使用上面的 ant 任务并指定空格分隔符。

关于java - Google Java Format 在格式化时无法读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56123281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com