微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除目录时的Java Ant性能

如何解决删除目录时的Java Ant性能

| 大家好,stackoverflowers, 我在网上看到的大多数Ant构建文件都包含一个“ clean \”目标,该目标始终使用deltree删除目录并重新创建该目录,所有二进制文件都将输出到该目录。这是性能问题吗?也就是说,仅应在已更改源文件的情况下对其进行编译,但是,如果在每次构建后都删除了包含所有二进制文件的目录,则必须在每次构建时重新编译所有文件。这是发生的事情吗?如果是这样,我是否会说这可能会损害性能,这是我错了。 作为后续问题,使用Ant时是否绝对需要这样做或强烈建议这样做?我的团队恰好正在使用保管箱同步到多台计算机,因此我们可能不希望此步骤在每次运行时都发生。 感谢您的输入! -alanhorizo​​n

解决方法

如果您要添加或更改现有的类,则Clean通常是多余的。
javac
检查
class
个文件的时间戳,以使其保持最新状态。如果某些类已被删除,则变得至关重要。如果不先清理,最终会得到过时的
class
文件,有时会导致依赖关系问题。并且,与构建/部署过程中涉及的其他任务相比,执行清理不会对性能造成影响,值得一提。,您通常可以避免执行干净的步骤,而javac只会编译更改。为了进行快速开发,您可能可以摆脱它,遇到问题时可以干净地运行。对于将要部署的构建,最安全的方法是始终先进行清理以处理可能无法正常使用的任何复杂依赖项。 就是说,为什么您要通过Dropbox与团队共享资源?您应该使用Subversion或Git(或许多其他工具)进行源代码管理。它们是为此目的而设计的,一旦您处理诸如分支和合并之类的任何潜在复杂问题,您将立即希望它们。如果要避免设置太多,请考虑使用GitHub。,javac命令文档说:仅编译没有相应.class文件或该类文件比.java文件旧的Java文件。 因此,无需每次都清理资源。,通常必须进行清理,以减少由于重命名而造成错误的机会,并且可能遗留任何东西。但是,我不建议在Ant本身中执行此操作。 如果使用的是git,请使用
exec
任务执行命令
git clean -fdx .
git reset --hard HEAD
从项目文件的根目录开始。这将删除不属于源代码管理的所有文件,并将其重置为检出状态的顶部。 否则,我将在构建文件夹上在Windows上执行ѭ5,在UNIX上执行ѭ6。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。