栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

标准Sun javac可以进行增量编译吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

标准Sun javac可以进行增量编译吗?

Sun的编译器总是编译每个源文件,而Eclipse的编译器只编译更改的文件以及受此更改影响的文件,这是真的吗?

我相信您在这两个方面都是正确的。

当然,您可以强制Eclipse重新编译所有内容。

但是等式的另一部分是,Java构建工具(例如Ant和Maven)仅能够编译已更改的类及其依赖类树。

编辑

在Ant中,可以通过两种方式完成增量编译:

  • 默认情况下,该

    <javac>
    任务会比较
    .java
    和相应
    .class
    文件的时间戳,只告诉Java编译器重新编译比其相应目标(.class)文件新的源文件(.java),或者根本没有目标文件。 。

  • <depend>
    任务还考虑了类之间的依赖关系,该任务通过读取和分析嵌入在
    .class
    文件中的依赖关系信息来确定。确定哪些
    .class
    文件已过时后,该
    <depend>
    任务将其删除,因此后续
    <javac>
    任务将重新编译它们。但是,这并非完全傻瓜。例如,对源代码进行大量更改可能导致
    <depend>
    任务正在分析过时的依赖关系。同样,某些类型的依赖关系(例如,对静态常量的依赖)在
    .class
    文件格式中也不明显。

要了解为什么Ant

<depend>
不安全,请阅读文档的“限制”部分。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/507601.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号