我已经寻找了一段时间,但是我找不到任何关于如何在Java EE中实现定义自定义注释(拦截器绑定)的信息,以便能够在多个maven模块中使用,而不是在我想要使用它的每个包中声明它。它是一个基本的拦截器,它的实现只将一些东西打印到控制台中。
举个例子,比如javax.ws.rs.Path
,这个注释可以在多个位置使用,它需要做的一切就是导入正确的依赖项。我的注解不能达到同样的效果。
我已经使用拦截器和绑定注释创建了新的maven模块。我在META-INF文件夹中也有beans.xml文件来启用CDI。然后,我将这个模块的依赖项添加到其他项目中,我希望在其他项目中使用这个注释。问题是,当我想要使用这个注解时,注解的实现不会执行使用@AroundInvoke
注解的方法。
我不知道我做错了什么,因为weld应该开始初始化bean实现,因为启用了CDI,但他没有这样做,除非我在要使用注释的beans.xml文件中为<interceptor>
添加了额外的配置。
发布于 2014-05-19 20:31:10
假设你所说的包是指模块;
您需要在它自己的maven模块中声明您的注释(可能使用其他共享逻辑)。然后将该maven模块作为其他模块中的依赖项。这样,您就可以随心所欲地使用注释。
https://stackoverflow.com/questions/23736756
复制相似问题