【问题标题】:Eclipse "Build Automatically" not cascadingEclipse“自动构建”没有级联
【发布时间】:2011-07-01 13:17:51
【问题描述】:

我在 Eclipse 中有一个项目(Indigo,但在 Helios 中类似),它在 src/main/resources 中有文件,这些文件经过处理以在 target/generated-sources/xyz 中生成 *.java 源文件。项目设置启用了“自动构建”,因此每当编辑和保存这些资源文件时,都会生成相应的*.java 文件。我已将target/generated-sources/xyz 添加到项目构建路径中。这一切都很完美。

问题是生成的*.java 文件的更改不一致地重建。如果我在编辑器中打开了其中一个文件,那么它会注意到它已更改并询问我是否要重新加载它。重新加载*.java 文件足以让它识别出它已更改并触发重建。如果我没有打开它,那么它不会自动获取更改。

关于我可以做些什么来让 Eclipse(最好是 Indigo)知道这些生成的文件正在更新的任何想法?还是告诉它直接监控这些文件夹更好?

谢谢。

【问题讨论】:

    标签: java eclipse eclipse-indigo


    【解决方案1】:

    尝试将 Eclipse 配置为自动刷新。我不确定 Indigo,但在 Helios 中,它位于 Preferences → General → Workspace → Refresh Automatically。


    这里是 Indigo:

    【讨论】:

    • 你去!这似乎已经做到了。在 Indigo 中,现在有两个选项:“使用本机挂钩或轮询刷新”和 :Refresh on access”。玩哪个更好,但似乎一旦刷新它就会拾取并重建。谢谢!
    • 不客气。我只记得我有一个 Indigo 的休眠副本。我不确定哪个新选项更好。不知道为什么 Eclipse 默认不自动刷新。
    • 也许是因为我猜可能有人会丢失更改。我经常在 IDE 之外,所以我喜欢让它保持同步。对我来说(在 OS X 上)“访问时刷新”似乎可以立即工作。另一个似乎处于一个短暂但明显的轮询周期。 编辑: 从头开始​​。只需设置两者。 :)
    • 我使用的是 ecrise 2020-03,但没有看到如上图所示的自动构建选项
    【解决方案2】:

    我假设您已经在项目中添加了一个基于“程序”的构建器,用于将文件编译/翻译成.java

    如果您打开构建器 - 通过项目属性 -> Builders -> Edit... 构建器 - 然后您可以打开 Refresh 选项卡 - 如下所示。

    然后您可以在此处选择在运行此特定构建时要刷新的资源...例如target/generated-sources/xyz中的所有资源...

    【讨论】:

    • 谢谢,这是一个很好的提示。就我而言,它实际上是一个基于 maven 的进程,配置了 m2e。我希望这些类型的操作可以在pom.xml 中明确指定,这样每个开发人员都不必设置 IDE。
    猜你喜欢
    • 2015-03-03
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多