2011-12-05 33 views
2

所以我想在我的应用程序中使用AOP进行日志记录和一些错误处理。 大多数人推荐使用aspectj,所以我的问题是为什么aspectj要求我安装一个eclipse插件才能使用它? 没有aspectj在运行时只是使用反射来修改类?Java - 为什么aspectj需要安装插件?

我们也在使用构建服务器,是否需要在构建服务器上安装任何东西以便使用aspectj来运行项目?

回答

4

它不会,除非您特别想让Eclipse具有方面感知能力,并且在其内部构建过程中包含AspectJ功能。 (国际海事组织对IDE的支持非常棒,并且使得AOP更容易处理,单独的排水沟标记值得入场。)

AspectJ修改字节码;你不能通过纯粹的反射来做它,

你的构建服务器需要适当的库。如果您正在进行编译时编织,那么需要将其添加到构建脚本中。

2

Aspect-J使用代理通过所谓的加载时织造来修改类。这是必需的,因为java-proxies只能用于接口。代理用额外的(字节)代码增加类。

编辑:插件通常会提供额外的功能来定义和审查点切口连接点

+1

这并没有回答为什么需要Eclipse插件的问题。 –

+0

@MatthewFarwell谢谢,补充 – stacker

1

不,您不需要任何插件来编译/运行使用AOP编写的代码。

确实需要在编译/运行应用程序时添加类路径信息。

例如,你可以看看here。它使用ant添加aspectj jars来运行示例。当然,它不需要插件来运行AspectJ代码。

关于插件&蚀:这是给予日食主意,了解AspectJ的代码,而不是混淆为无效的Java代码。

0

如果你有一个Maven项目,你只需要放置一些依赖来处理Aspect。 我正在使用Netbeans并使用AspectJ,它完美地工作。没有插件来安装。

请参阅:http://mojo.codehaus.org/aspectj-maven-plugin/了解一些信息。

相关问题