【问题标题】:Custom build rules for EclipseEclipse 的自定义构建规则
【发布时间】:2011-09-22 02:36:20
【问题描述】:

我有一个使用一些自动生成的源代码的 Java 项目。此源代码是由命令行工具 --- Bison 生成的,实际上是 --- 从一个特殊的源文件中生成的。

我希望有一种方法可以在我按下 Eclipse 中的“构建”按钮时在必要时自动重新生成 Java 源代码。这可能吗?如果可以,怎么做?

通常我会将它集成到项目 makefile 中,但当然这是 Java,它不使用 makefile。我看过 ant,但 ant 似乎对传统的命令行工具充满敌意。我知道类似的东西,这可以通过内置的 Eclipse 构建器实现,因为 Android 开发工具包可以做到;那么它在做什么呢?

【问题讨论】:

    标签: java eclipse build-process


    【解决方案1】:

    右击项目,选择Properties > Builders > New ... > Program

    您可以在此处选择在构建项目时将运行的命令行工具。


    为了完整性:这是一个仅限 Eclipse 的解决方案。我建议您使用构建系统而不是普通的 Eclipse。 Maven 和 Ant 都与 Eclipse 很好地集成(Maven 通过m2eclipse,Ant 通过与上面相同的 Builder 机制),可能还有其他。

    对于 Maven,您将使用 exec:exec (usage)。

    对于 Ant,您将使用 <Exec> 任务。

    【讨论】:

    • 看起来上面的选项是无条件运行命令,这不是我想要的——我只想在输入文件发生变化时运行该工具。鉴于这种东西是构建系统的核心和灵魂,Eclipse 肯定以某种方式支持它吗?
    • @David 我的猜测是,您必须创建一个 shell 脚本,或者在调用可执行文件之前检查缓存文件的 last-modified。或者,您可以在“构建选项”选项卡中应用的限制之一可能适合您。
    • 叹息。这是什么,CP/M?所有 1GB 的 Eclipse 真的不能做一些 80 年代半生不熟的 Unixoid 理所当然地做的事情吗?事实上,我现在有一个 ant 脚本,它无条件地调用 bison 和 jflex 作为构建过程的一部分,并且构建速度足够快,始终重新生成源代码不是问题,但是......只是......嘘。就这样。无论如何,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多