在Eclipse中为Roo项目自动完成

时间:2010-04-06 09:34:47

标签: java eclipse spring-roo aspects ajdt

我有一个Roo项目,我已经制作了几个实体,当我在Eclipse中加载项目时它加载得很好,但是如果我做了一个实例MyEntity entity然后写{ {1}}我没有在自动完成列表中获得任何属性(即getMyField)。如果我写entity.它编译得很好,那就由方面来处理。如何为方面生成的函数启用自动完成功能?

干杯

的Nik

2 个答案:

答案 0 :(得分:3)

你使用哪种“类型”的日食?你的日食中是否安装了AJDT?如果是这样,仍然有一个禁用编织JDT的选项。下面的注释(摘自Roo文档)可以帮助您打开JDT编织(Window - > Preferences> JDT Weaving。

  

使用AJDT时,系统可能会提示您   是否启用JDT编织。   您应该选择启用编织   为了确保Java编辑器   Eclipse(或STS)给出了最好的结果   基于AspectJ的体验。你也可以   验证此设置是否处于活动状态   加载Eclipse(或STS)并选择   窗口>偏好> JDT Weaving。

顺便问一下你是否考虑过尝试 Spring Source Tool Suite ?在那里你发现已经安装了所有插件(AJDT支持...)。它非常适合Roo,因为它在eclipse中提供了Roo功能。

答案 1 :(得分:1)

我遇到了与niklassaers相同的问题:Roo AspectJ方法在编译时没有在eclipse自动完成中显示。我使用最新版本的STS,默认安装了AJDT,并验证JDT Weaving是否处于活动状态,但问题仍然存在。

另一方面,我发现执行Maven > Update project... (Alt-F5)会使ROO AJ方法对自动完成可见。

这个解决方案可能与我的项目结构有关(我的工作区中有两个eclipse Maven项目,myproject.data包含带有aj方法的roo类,myproject.services充当这些类的客户端);此外,我每次打开工作区时都必须重复Alt-F5,但这似乎有效。

我希望更好地了解此代码完成问题的原因,并且可能找到一些永久解决问题的方法,而不必每次都更新maven项目。它可能与AJDT插件和m2eclipse Maven插件之间的交互有关吗?