为什么在Ant构建无关项目时,CDT会重新构建我的C项目?

5

我有一个Eclipse工作空间,其中包含一个CDT项目和其他无关的项目。然而,当我在其中一个项目上运行“作为Ant构建”时,CDT坚持重新构建它的项目。

有没有人知道在哪里查找以断开这种“隐藏”的依赖关系?(不,在“链接资源”或“项目引用”中都没有...)


(抱歉,如果我的问题很简单,我更熟悉CDT而不是Ant)如何运行“作为Ant构建的构建”?当右键单击Ant构建文件时,我找到的只有“作为Ant构建运行”。 - Itamar Katz
抱歉,我的错误。那就是我想说的。由于这对问题不重要,我没有检查,对此感到抱歉。 - thoni56
3个回答

3

整个工作区的构建实际上是由于我无法在“外部工具配置”中找到构建选项引起的。在那里,您可以指定构建整个工作区、包含的项目或某些特定资源。

还有一个Eclipse bug,用于将默认设置为与构建整个工作区不同的内容。(人们可能认为“作为Ant构建运行”默认情况下不会构建任何东西,除非运行指定的Ant目标。)


2

项目构建器是在某个构建触发器的请求下运行的。这可能是资源更改(当您启用自动构建时)或者它可能是您正在使用的构建操作:“作为Ant构建进行构建”。构建操作可能会无意中请求整个工作区的构建。

将以下内容放入文本文件中:

# Eclipse build
org.eclipse.core.resources/debug=true
org.eclipse.core.resources/build/interrupt=true
org.eclipse.core.resources/build/invoking=true
org.eclipse.core.resources/build/needbuild=true
#Managedbuild
org.eclipse.cdt.managedbuilder.core/debug/builder=true
org.eclipse.cdt.managedbuilder.core/debug=true
org.eclipse.cdt.managedbuilder.core/debug/pathEntryInit=false
org.eclipse.cdt.managedbuilder.core/debug/pathEntry=false

使用额外的开关运行Eclipse:

-debug <trace_options>.file

这将在你启动Eclipse的shell中输出跟踪打印信息。您可以使用它来更好地定位您无疑会提交的错误报告 :)


好的,除非我将选项文件放在.../Eclipse.app/Contents/MacOS中(在MacOSX中),否则这不起作用。但是然后跟踪输出对于我的每个项目都包含以下内容: - thoni56
但是然后跟踪记录包含每个项目的以下信息:“在构建器CommonBuilder(AlanIDE)上调用(FULL_BUILD)”。 - thoni56

0
尝试在“项目”菜单下取消选中“自动构建”复选框。

你是指CDT项目吗? 即使那样可以工作,但似乎不是正确的解决方案。 因为如果我想让我的CDT项目在保存资源时自动构建,我需要在切换项目时反复开关它。 - thoni56
你可能是对的。由于那个复选框似乎是“全局”的(与所有项目相关联),所以我没有想到可以单独控制每个项目的自动构建。(我的答案可能受到了我的习惯的影响...) - Itamar Katz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接