在 Eclipse 中运行外部工具时删除某些类?

发布于 2024-07-05 12:02:42 字数 185 浏览 15 评论 0原文

我在 eclipse (3.4) 中设置了一个外部工具 (sablecc),它在当前项目中生成一堆类。 我需要运行这个工具并相当频繁地重新生成这些类。 这意味着每次我想运行 sablecc 时,我都必须手动删除 sablecc 创建的包/类,以确保新旧生成的类之间不会发生冲突。 有没有一些简单的方法可以从 Eclipse 或其他方式自动执行此操作?

I've set an external tool (sablecc) in eclipse (3.4) that generates a bunch of classes in the current project. I need to run this tool and regenerate these classes fairly frequently. This means that every time I want to run sablecc, I have to manually delete the packages/classes that sablecc creates in order to ensure that I don't have conflicts between the old and new generated classes. Is there some easy way to automate this from within eclipse or otherwise?

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

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

发布评论

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

评论(3

感情洁癖 2024-07-12 12:02:42

不确定我是否理解你的观点,我想你需要在运行 sablecc 之前删除旧的类,因为其中一些类最终不会在新的运行中创建。

最好是用目标编写简短的 Ant build.xml,它首先删除类(Ant delete任务),然后运行 ​​sablecc(Ant exec 任务)。 还可以预设 Eclipse,以便在 Ant 完成后刷新工作区。

将 build.xml 放置到项目的任意位置,右键单击“Run As/Ant Build”。

只是为了干净的风格,您可以使用它的 Ant 任务(由 org.sablecc.ant.taskdef 实现)调用 sablecc,而不是在新进程中外部运行它。

Not sure if I understand your point right, I suppose you need to delete old classes before running sablecc because some of them would not be eventually created in new run.

It is probably best to write short Ant build.xml with the target, which first removes the classes (Ant delete task) and then runs sablecc (Ant exec task). It is also possible to preset eclipse so that it refreshes workspace after Ant finishes.

Put the build.xml anywhere to project, right click, Run As/Ant Build.

Just for the sake of the clean style, you could then call sablecc with its Ant task (implemented by org.sablecc.ant.taskdef), instead of running it externally in new process.

番薯 2024-07-12 12:02:42

您可以告诉 Eclipse 在运行外部工具后刷新工作区(或部分工作区)。 这会强制 Eclipse 检测任何新的/删除的类。

You can tell Eclipse to refresh the workspace (or parts of it) after an external tool has been run. This should force Eclipse to detect any new/deleted classes.

日裸衫吸 2024-07-12 12:02:42

JesperE 指的是用于运行 sablecc 的外部工具配置中的选项刷新->完成时刷新资源

JesperE is referring to the option Refresh->Refresh resources on completion in your external tools configuration for running sablecc.

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