AspectJ导致“编辑器不包含主类型”错误

时间:2013-01-25 18:21:32

标签: eclipse ide workflow aspectj ajdt

将AspectJ开发工具安装到Eclipse后,“运行”按钮和Ctrl-F11快捷方式几乎变得无用:使用它们(或调试按钮)将抛出“编辑器不包含主类型”错误消息,即使是不需要主类型的项目(例如Android应用程序项目)。具有正确定义的主要类型的独立Java项目工作正常 - 因此似乎AJDT强制Eclipse检查Java main()而不首先检查项目类型。无论项目是否是AspectJ项目都没有任何区别。

问题仅在您当前正在编辑的文件在其文件名中的任何位置具有“.java”,“。aj”或“.class”时出现(注意:它实际上不必以这些扩展名结尾,如只要它在那里的任何地方 - readme.txt将起作用,readme.java.txt将不起作用。

我发现解决这个问题的两种方法 - 无论是否是AJ项目 - 安装AJDT后都是:

  • 在Package Explorer中选择一个文件,其名称不包含.java,.class或.aj,然后点击Run(Package Explorer必须保持活动状态)并选择)。

  • 为您的项目创建一个新的运行配置,并使用它来启动您的项目。这仍然会增加一个毫无意义的额外步骤,对于那些从事大量项目的人来说也是不切实际的。

我在Eclipse Juno和Helios(Windows XP x86以及Win7 x64)上都试过这个,结果是一样的。虽然看起来像是挑剔但肯定不是:AJDT正在劫持 最常用的IDE功能。

我已经在我的工作PC上安装了两个不同的Eclipse安装版本,其中一个安装了AJDT,另一个没有安装,所以当我没有处理AJ相关的任何事情时,我可以正确使用IDE 。由于我的公司正在开发一个项目,需要其他开发人员将AJDT安装到他们的IDE中,这对我们来说是一个重要的问题,超出了我们自己的时间损失 - 我无法想象很多开发人员愿意放在完全没有任何理由的情况下,他们的工作流程中增加了一个重要的瓶颈。所以最有可能的是,他们只会放弃我们的产品!


更新:这已被确定为AspectJ中的一个错误,并已向AJ开发团队报告。您可以在此处跟踪:https://bugs.eclipse.org/bugs/show_bug.cgi?id=399660 在撰写本文时,该错误已经部分修复,将运行功能恢复到非启用AJ的项目。

1 个答案:

答案 0 :(得分:1)

我刚来这个网站问同样的问题。虽然我没有回答为什么会出现问题,但我现在有一个解决方法可以帮助我:

转到偏好设置>运行/调试>启动并选择始终启动先前启动的应用。这将在处理单个项目时引入可承受的行为。您需要手动为主类创建运行配置。