我们有一个包含以下模块的maven多模块项目:
srv项目包含EJB。在prj/src/test中,我们有@ beans.xml替代部分中指定的EJB替代实现。这个很管用。
项目prj-客户端将prj-srv作为依赖项。此外,它还依赖于类型test的prj-srv,范围测试,因此它可以使用替代的EJB实现进行测试。这个也能用。
现在:在prj/src/main/java中,我们有带有限定符@Cacheable注释的EJB接口的本地实现(以便缓存数据)。我想做的是在prj/src/ test /java中设置测试,以便它们使用我来自prj的测试实现(那些不能缓存,但是谁在乎,因为它是用于测试的)。
我试过:
是否存在将@Alternative与限定符混合的问题?如何让我的测试使用合格类的替代实现?
发布于 2014-02-03 09:59:09
刚找到它:我忘了用@Inject标记@Cacheable实现的构造函数。显然,即使它在beans.xml中被标记为一种替代,因为Weld不知道如何初始化它,而不是抛出一个错误,它只是默默地决定忽略这个选项.
https://stackoverflow.com/questions/21523736
复制相似问题