问题
你想要在eclipse下编译aspectj项目。
没有使用eclipse或者ant?
如果你在编写基于apsectj的aspect-oriented程序的时候没有使用eclipse或者ant,建议你跳过此章,并从下一章开始学习部署aspectj程序的常用方法。
解决方案
下载并在eclipse里安装aspectj development tools (ajdt)插件。
版权声明:任何获得matrix授权的网站,转载时请务必保留以下作者信息和链接
作者:jerric(作者的blog:http://blog.matrix.org.cn/page/jerric)
原文:http://www.matrix.org.cn/resource/article/44/44423_eclipse+aspectj.html
关键字:eclipse;aspectj
讨论
和eclipse项目一样,aspectj也是一个开源项目,同时它为集成开发环境提供了最丰富的aspectj插件。你可以在http://www.eclipse.org/ajdt 下载aspectj的eclipse插件,并在那找到相应的说明。
最佳的实践经验是下载最新版的aspectj,以及相应最新的ajdt和支持它的eclipse。如果你不确定该下载什么,你可以在ajdt的下载页面找到一个兼容性列表,它可以帮助你做选择。
如果要检查ajdt插件是否已正确安装,在eclipse的菜单里选择file  new  project…,在new project对话框里应该有一个apsectj项目的选项,如图2-1所示。
eclipse 3 mx版本的缺省设置是隐藏所有附加向导。你可以选中show all wizards选择框以显示new aspectj project的选项。
在new project对话框中选择aspectj project选项,然后点击next,并且利用接下来的几步来设置一个新的aspectj项目。
一旦项目向导完成,eclipse里的工作界面会建议你切换到java perspective,并且,如果你是第一次使用这个向导,它会要你确认几个ajdt的引用。推荐使用java perspective,并且接受默认的项目参数。完成后你的项目会如图2-2所示。
ajdt 1.1.7及以上版本默认下会自动对你的aspects和java代码进行增量编译;如果你觉得这影响到你的整体开发的效率,你可以关掉这个功能。
在新apsectj项目创建的同时,它已被自动编译好了。你也可以点击build aspectj project按钮 ,对项目进行强制编译。
图2-1 创建一个新的aspectj项目
图2-2 在eclipse的java perspective里显示的aspectj项目的源代码及jar文件
你的程序应该已经编译好并可以运行了。在此之前,你可以留心一下ajdt对java perspective的一些扩展。最显著的是在outline view里,当你选中一个aspect或者advised类,会有新的区域显示已经应用了建议的地方。更多信息的例子如图2-4和2-5所示。
图2-4 用outline view查看应用了特定建议的类或aspect
图2-5 利用outline view查看在一个特定类上应用了哪些建议
ajdt还提供了另一个视图以图形化地显示你的aspects如何应用到你的项目之中。选择window  open perspective  other…,并选择aspect visualization perspective以打开那个视图。这个新视图里会列出你的类里已应用的aspects,如图2-6所示。
图2-6 已选中一个示例项目的ajdt的aspect visualization perspective
切换回java perspective,并且运行你的程序。在eclipse里运行一个aspectj程序和运行一个普通的java程序一样简单。在java perspective里选择包含public static void main(string[] args)方法的类,然后在主菜单里选择run  run as  java application。eclipse会在选中的类里查找并执行main()方法。命令行输出结果会显示在console view里,如图2-7所示。
图2-7 运行代码5.1时在console view里输出的结果
ajdt包含的丰富特性和扩展甚至可以写整整一章内容。花点时间看看ajdt所提供的参数和特性,这样当你在使用本书其它代码的时候,你可以迅速掌握哪些对你最有用的特性。
参考
eclipse and the eclipse cookbook中的代码2.9 展示了如何利用ant进行自动化编译;你可以在http://www.eclipse.org/ajdt 的user resources: documentation链接获得ajdt插件完整的用户指南。borland jbuilder的aspectj插件可以在http://sourceforge.net/projects/aspectj4jbuildr/ 下载;sun.netbeans的aspectj插件可以在http://sourceforge.net/projects/aspectj.netbeans/ 下载。参考steve holzner (o’reilly) 的eclipse and the eclipse cookbook.
matrix:http://www.matrix.org.cn
onjava:http://www.onjava.com
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器