0

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

4

3 回答 3

1

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

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

将 build.xml 放在项目的任何位置,右键单击,Run As/Ant Build。

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

于 2008-09-16T19:54:15.580 回答
0

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

于 2008-09-16T18:29:09.277 回答
0

JesperE 指的是用于运行 sablecc 的外部工具配置中的选项Refresh->Refresh resources on completion

于 2008-09-16T19:53:48.123 回答