gpt4 book ai didi

java - 你什么时候应该在intellij中输入 "rebuild project"

转载 作者:行者123 更新时间:2023-12-01 20:09:35 34 4
gpt4 key购买 nike

https://www.jetbrains.com/help/idea/compilation-types.html?search=rebuild

根据复杂类型的描述,重建项目会重新编译所有源文件,并建议在“类路径条目发生更改,例如添加、删除或更改正在使用的 SDK 或库”时使用它。

我希望得到一些帮助来解释这一点。我可以想象,如果依赖项发生更改或被删除,可能需要重新编译您的类,因为它可能不再成功编译。但是,为什么任何类都会导致您重新编译现有类?

最佳答案

“重建项目”基本上是一个干净的构建,编译所有内容,而不是典型的增量构建,后者仅构建自上次构建以来已更改的类。

However, why would any new classes cause you to recompile existing ones?

主要原因是确保不存在重复。例如,我见过有人添加类路径中已有的库的不同版本的情况。例如,他们想要使用 foo-utilis 库(在 v2 中添加)中的 FancyUtils。当他尝试使用它但没有找到它时,他只是假设他需要添加 foo-utils-2.0 而没有注意到 foo-utils-1.0 已经打开类路径。现在该库的两个版本都存在,这可能会导致问题。也许您的项目在 v1 中使用的类已被删除,现在您的项目无法编译。但是如果你不进行干净的构建,你将不会注意到它,因为使用类没有改变并且不会被重新编译。

另一种可能性是引入冲突资源。虽然只要每个人都遵循良好的包命名约定,就很少会出现冲突的类,但我已经看到这种情况发生了。但更有可能的是,您可能有两个库,它们都有一个通用命名的资源/配置文件,例如 .properties 文件。再说一次,这并不常见……但它确实发生了。

除了这些事情之外,有时还会发生各种奇怪的事情。如果您在添加库后立即发现它(因为您知道新库是一个领先的竞争者),而不是几天后发现它,甚至不知道去哪里,那么追踪一个奇怪的问题会容易一千倍开始。

我个人喜欢每隔几个小时进行一次干净的构建,作为健全性检查。我总是在提交之前以及拉取和更新之后运行一个。虽然这种情况可能千载难逢,但确实会出现只能通过干净的构建才能解决的奇怪问题。

关于java - 你什么时候应该在intellij中输入 "rebuild project",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46879253/

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