Eclipse 的自定义构建规则

发布于 2024-11-16 22:25:32 字数 301 浏览 3 评论 0原文

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

我想要一种方法,当我在 Eclipse 中按下“构建”按钮时,可以在必要时自动重新生成 Java 源代码。这可能吗?如果可能的话,如何实现?

通常我会将其集成到项目 makefile 中,但当然这是 Java,并且它不使用 makefile。我研究过 ant,但 ant 似乎对传统的命令行工具相当敌视。我知道使用内置的 Eclipse 构建器可以实现类似的功能,因为 Android 开发工具包可以做到这一点;那么它在做什么呢?

I have a Java project that uses some autogenerated source code. This source code is produced by a command-line tool --- Bison, actually --- from a special source file.

I would like a way to have the Java source automatically regenerated whenever necessary when I press the 'build' button in Eclipse. Is this possible, and if so, how?

Normally I'd integrate this into the project makefile, but of course this is Java, and it doesn't use makefiles. I've looked at ant, but ant seems rather hostile to traditional command-line tools. I know something like this is possible with the built-in Eclipse builder because the Android development kit does it; so what is it doing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

君勿笑 2024-11-23 22:25:32

右键单击该项目,选择“属性”>建设者>新...>>程序。

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


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

对于 Maven,您可以使用 exec:exec< /a> (用法)。

对于 Ant,您可以使用 任务。

Right-click the Project, select Properties > Builders > New ... > Program.

There you can select a command line tool that will be run whenever the project is built.


For completeness: this is an Eclipse-only solution. I would recommend you to use a build system instead of plain Eclipse. Both Maven and Ant integrate nicely with Eclipse (Maven through m2eclipse, Ant through the same Builder mechanism as above), possibly others as well.

With Maven, you would use exec:exec (usage).

With Ant you would use the <Exec> task.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文