微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring – JBoss 5.1:找不到实体类(vfszip)

我正在使用JBoss 5.1与Hibernate 3.6,JPA 2.0和Spring 3.0.5.
我使用maven来构建EAR文件,如下所示:

AutoTrader.ear 
-------> meta-inf
--------------> application.xml
--------------> jboss-app.xml
--------------> MANIFEST.MF
-------> AutoTrader.war

如果我在JBoss 5.1中部署这个ear文件,我会收到错误

org.springframework.dao.InvalidDataAccessApiUsageException: Not an entity: class uk.co.aol.shipmanager.domain.Manager; nested exception is ja
va.lang.IllegalArgumentException: Not an entity: class uk.co.aol.shipmanager.domain.Subscription
        at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:286) ~[at_war-1.0.war:3
.0.5.RELEASE]
        at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:104) ~[at_war-1.0.war:3.0.5.RELEASE
]
        at org.springframework.orm.jpa.AbstractEntityManagerfactorybean.translateExceptionIfPossible(AbstractEntityManagerfactorybean.java:368) ~[at_war-1.
0.war:3.0.5.RELEASE]
        at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:58
) ~[at_war-1.0.war:3.0.5.RELEASE]

但是,如果我部署war文件爆炸,它工作正常.
欢迎任何建议.

谢谢,
阿迪

更新:

添加一个ResourceScanner,它扩展了NativeScanner:

public class ResourceScanner extends NativeScanner {

    @Override
    public Setaram url
     *            original URL.
     * @return either the original,either the corresponding FILE protocol of given VFS URL.
     */
    protected URL patchUrl(final URL url) {
        String protocol = url.getProtocol();

        if (protocol.equals("vfs")) {
            try {
                File file = new File(url.getFile());
                return file.toURI().toURL();
            } catch (final MalformedURLException e) {
                return url;
            } catch (IOException e) {
                e.printstacktrace();
                return url;
            }

        }
        return url;
    }
}

并且,在spring-persistence.xml中,

这再次适用于爆炸的war文件.

但是对于EAR文件,协议是vfszip而不是vfs.

请告诉我该怎么办???

最佳答案
你试图使用以下系统参数,看看它是否有助于解决问题?

-Dorg.jboss.net.protocol.file.useURI=false

原文地址:https://www.jb51.cc/spring/432089.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐