【问题标题】:Using interceptor bindings from a jar使用 jar 中的拦截器绑定
【发布时间】:2014-07-07 08:31:03
【问题描述】:

我已经搜索了一段时间,但是我找不到任何关于如何在 Java EE 中实现定义自定义注释(拦截器绑定)以便能够在多个 maven 模块中使用而无需在每个包中声明的信息我想在哪里使用它。它是一个基本的拦截器,实现只在控制台中打印一些东西。

一个例子就像javax.ws.rs.Path,这个注解可以在多个位置使用,它需要做的就是导入正确的依赖。我的注释无法达到同样的效果。

我使用拦截器和绑定注释创建了新的 maven 模块。我在 META-INF 文件夹中也有 beans.xml 文件来启用 CDI。然后我将此模块的依赖项添加到我想使用此注释的其他项目中。问题是,当我想使用这个注解时,注解的实现不会执行使用@AroundInvoke 注解的方法。

我不知道我在做什么错,因为 Weld 应该开始初始化 bean 实现,因为 CDI 已启用,但他没有,除非我在 beans.xml 文件中我想要的地方为 <interceptor> 额外配置使用注释。

【问题讨论】:

  • 你的问题不是很清楚。 maven 包是什么意思?
  • 你应该首先提到这是关于焊接的:) 所以你的共享模块中有一个beans.xml,但你不希望在你的主(使用)模块中有一个,对吧?

标签: java maven annotations cdi weld


【解决方案1】:

假设你的包是指模块;

您需要在其自己的 maven 模块中声明您的注解(可能与其他共享逻辑)。然后将该 maven 模块作为其他模块的依赖项引入。这样您就可以在任何地方使用注释。

【讨论】:

  • 您好,感谢您的重播。我尝试创建新的 Maven 模块并将其作为依赖项包含到另一个模块中,但这似乎不起作用。注释方法时,实现不会调用 ...
  • @Dahakka 调用是什么意思?这个注释应该做什么,什么时候,用什么技术。这应该是一个aspectJ注释吗?
  • 我将使用更新 2 更新我的帖子,以便更清楚我的意思 :)
猜你喜欢
  • 2012-08-18
  • 1970-01-01
  • 2012-09-20
  • 2017-09-26
  • 1970-01-01
  • 2019-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多