未加载Glassfish 4.1 / validation.xml

时间:2014-10-08 09:59:17

标签: java xml glassfish

我已经将应用程序从JEE6移植到JEE7(glassfish 3.1.2.2到4.1),

我已使用最新版本(如此处所述)升级了META-INF / validation.xml:http://antoniogoncalves.org/2013/06/04/java-ee-7-deployment-descriptors/):

<validation-config
        xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration validation-configuration-1.1.xsd"
        version="1.1">
    <message-interpolator>com.infomaxgroup.adaecommerce.validation.DatabaseMessageInterpolator</message-interpolator>
</validation-config>

永远不会调用自定义messageinterpolator,所以我试图设置一个不存在的类的名称:

    <message-interpolator>foo.foo.foo.Bar</message-interpolator>

并尝试插入错误(开头标记后面的xxx):

    <message-interpolatorxxx>foo.foo.foo.Bar</message-interpolator>

我在日志中没有例外,看起来像validation.xml(我的JEE6应用程序处理好)并没有加载到我的移植的JEE7应用程序中......

有关如何解决问题的想法吗?

非常感谢...

1 个答案:

答案 0 :(得分:0)

解决了我自己,

问题是validation.xml必须放在“ejb模块”的META-INF / validation.xml文件夹中,放到我的JEE6应用程序中我把那个文件放到“web模块”的WEB-INF文件夹中(奇怪的是JEE6应用程序运行良好...),现在我的JEE7应用程序正确加载validation.xml配置并使用消息插补器工作,非常好!