2013-10-08 52 views
2

我正在将我们的JSF/Primefaces 3.5.x GF 3.1.1应用程序迁移到GF 4.0。这是一个带有战争的EAR和一个装满罐子的EJB-jar和lib。WELD-001408&ValidationInterceptor&Glassfish 4.0x&EAR&CODi无法部署?

战争已经WEB-INF/lib中具有:

'org.apache.myfaces.extensions.cdi.core:MyFaces的-extcdi核-API:1.0.5', “org.apache。 myfaces.extensions.cdi.core:myfaces-extcdi-core-impl:1.0.5',
'org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-api:1.0.5' , 'org.apache.myfaces.extensions.cdi.modules:MyFaces的-extcdi-jsf20模块-IMPL:1.0.5',

除了PF东西和Omnifaces和其他一些依赖(CODI消息API & impl也包含在内 - 必须是一个传递dep )。注意:否CODi验证的东西是在战争中,也没有任何冬眠罐

EAR Lib也有一堆罐子 - 它不重复CODi的东西,省略PF它包括一些弹簧和速度的东西,Apache的公共资源和一些其他的东西 - 再次没有CODi验证器的东西或休眠的东西。

上部署我得到:

org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [Validator] with qualifiers [@Default] at injection point [[UnbackedAnnotatedField] @Inject private org.hibernate.validator.internal.cdi.interceptor.ValidationInterceptor.validator] 

我已经看到了与此相关的其他2个SO帖子:

WELD-001408 Unsatisfied dependencies for type [Validator]

&

CDI/Weld Unsatisfied dependencies proglem

既没有暗示CODI验证器是背后的问题,也没有提到任何亮点 - 但我没有在我的部署单元(或EAR)中使用它。

有没有办法解决这个问题?

切换到DeltaSpike(和/或OS890 codi DS组合)不是立即选项;也不使用ee7。我需要尝试使用尽可能少的代码更改来实现。

任何想法?

+0

我们使用http://os890.blogspot.com/2013/07/add-on-codi-scopes-for-deltaspike.html时没有问题。在这种情况下,您不需要添加任何与Bean-Validation相关的任何可能相冲突的内容。 –

+0

那么,只是简单地扫描os890它看起来好像会起作用。但是,如果我必须破解代码 - 那么我不妨切换并使用一些JSF 2.2(现在只使用JSF 2。0)东西代替CODI的东西(真的只是ViewAccessScope)。真的试图避免触及太多的代码。 – fwelland

+0

使用这个库,你只需要改变软件包名称。 –

回答

0

我发现以下解决方案:

在 “MyFaces的-extcdi-jsf20模块-IMPL-1.0.5.jar” 删除软件包“org.apache.myfaces.extensions.cdi.jsf.impl .bv“完全。

没有完美的,但对我的作品至今...

+0

回到这个....你有EAR/lib或WAR/WEB_INF/lib中的cdiext/codi jar吗? – fwelland

+0

我有它在战争/ WEB-INF/lib – msc1979

+0

因此,在我的情况下,如果我有它在WEB-INF/lib我会得到一个CNF风格的问题有关的一些CODE相关的安全验证程序或拦截器。虽然清楚地在WEB-INF/lib中的codi jar可能是它需要的东西不是??无论如何,将它们转移到包含EAR的lib目录,我终于得到了部署;然而,应用程序黯然崩溃...更多的工作要做... – fwelland

0

他们只是推说,最新的快照可以EE7使用。我想没人会回报这个问题(至少我今天才看到JIRA票)。

+0

嗯......这仍然在我的视线之内;尽管我先迈出了一步步到达gf 3.1.2.2的步伐。你可以把一个链接到JIRA或链接到推文或快照或什么 - 我的非常休闲谷歌搜索没有找到任何东西。和/或如果我理解正确,你的意思是CODI做了一个快速修复,允许它在EE7/GF4上运行? – fwelland

+0

https://twitter.com/MyFacesTeam/status/422672426715975680和https://issues.apache.org/jira/browse/EXTCDI-313我不知道什么时候他们会发布它,但我想借此机会和测试如果仍然存在问题,可以很快向他们提供反馈。 –

+0

谢谢!我不会叽叽喳喳,也不会看到如何搜索推文 - 我隐约记得关于推特的一些消息,摆脱匿名浏览和搜索推文。无论如何,我搞砸了他们的SVN网站,并开始看到一些关于EE7支持的评论。我一定会尝试一下! – fwelland