Java Glassfish 4带有EMF Texo-JPA无持久性提供程序

Java Glassfish 4带有EMF Texo-JPA无持久性提供程序,java,eclipse,jpa,glassfish,glassfish-4,Java,Eclipse,Jpa,Glassfish,Glassfish 4,我试图在Glassfish 4中使用,但当我想要初始化EntityManager Provider时,我得到了错误: javax.persistence.PersistenceException:没有名为HelloTexo的EntityManager的持久性提供程序 我试图实现Texo教程找到的。不同的是,我希望它在Glassfish 4上运行 下面是我的代码: web.xml: <listener> <listener-class>texo.web.TexoCo

我试图在Glassfish 4中使用,但当我想要初始化EntityManager Provider时,我得到了错误:

javax.persistence.PersistenceException:没有名为HelloTexo的EntityManager的持久性提供程序

我试图实现Texo教程找到的。不同的是,我希望它在Glassfish 4上运行

下面是我的代码:

web.xml:

<listener>
    <listener-class>texo.web.TexoContextListener</listener-class>
</listener>

<filter>
    <filter-name>emFilter</filter-name>
    <filter-class>org.eclipse.emf.texo.server.store.CurrentEntityManagerRequestFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>emFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
}

在调试中,当我尝试初始化EntityManagerProvider()时出现上述错误

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="HelloTexo" transaction-type="JTA">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
        <jta-data-source>jdbc/__MySQLDataSource</jta-data-source>
    </persistence-unit>
</persistence>

org.eclipse.persistence.jpa.PersistenceProvider
jdbc/_MySQLDataSource
我通过从Eclipse向我的项目添加JPA项目方面自动创建了这个文件。已成功连接到数据库。我试图将persistence.xml移到WEB-INF/classes/META-INF/中,但仍然出现相同的错误

你知道是什么导致了这个错误吗?
我被困在这里好几天了。。。我真的希望有人能给我一个想法。

可能会有类加载器冲突。Glassfish4在容器库路径中包含EclipseLink。尝试从
WEB-INF/lib
文件夹中删除显式
标记和任何jpa实现JAR。标准的Glassfish
javax.persistence.jar应该就是您所需要的了。

谢谢!您关于类加载器冲突的评论解决了问题。我从WEB-INF/lib中删除了所有jpa实现JAR,并对标记进行了注释。对于那些与Texo有问题的人。。。我还从Glassfish中删除了所有texo罐子,并将它们保存在我的WEB-INF/lib文件夹中。
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="HelloTexo" transaction-type="JTA">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
        <jta-data-source>jdbc/__MySQLDataSource</jta-data-source>
    </persistence-unit>
</persistence>