2011-09-16 18 views
1

私のhibernateアプリケーションはjboss-as-7.0.0.Finalで正常に実行されていました。jboss-as-7.0.1.Finalに移動しました。私はこれらのエラーにjboss 7.0.1 hibernate javax.persistence.PersistenceException:EntityManagerの持続プロバイダがありません

17:42:42,725 ERROR [com.mycompany.myapp.common.persistence.HibernateUtil] (MSC service thread 1-12) Initial SessionFactory lookup failed.: javax.persistence.PersistenceException: No Persistence provider for EntityManager named primary2 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69) [hibernate-jpa-2.0-api-1.0.1.Final.jar:1.0.1.Final] 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) [hibernate-jpa-2.0-api-1.0.1.Final.jar:1.0.1.Final] 
at com.mycompany.myapp.common.persistence.HibernateUtil.<clinit>(HibernateUtil.java:35) [classes:] 
at com.mycompany.myapp.common.businessobjects.ServerSettings.GetServerSettings(ServerSettings.java:84) [classes:] 
at com.mycompany.myapp.common.jms.JMSListenerServletTemplate.init(JMSListenerServletTemplate.java:41) [classes:] 
at com.mycompany.myapp.common.jms.JMSAnywhereServlet.init(JMSAnywhereServlet.java:179) [classes:] 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3631) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3844) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.1.Final.jar:7.0.1.Final] 
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765) 
at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26] 
at java.lang.Thread.run(Thread.java:680) [:1.6.0_26] 

17:42:42,732 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/myapp]] (MSC service thread 1-12) StandardWrapper.Throwable: java.lang.NoClassDefFoundError: Could not initialize class com.mycompany.myapp.common.persistence.HibernateUtil 
at com.mycompany.myapp.common.businessobjects.ServerSettings.GetServerSettings(ServerSettings.java:92) [classes:] 
at com.mycompany.myapp.common.jms.JMSListenerServletTemplate.init(JMSListenerServletTemplate.java:41) [classes:] 
at com.mycompany.myapp.common.jms.JMSAnywhereServlet.init(JMSAnywhereServlet.java:179) [classes:] 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3631) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3844) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.1.Final.jar:7.0.1.Final] 
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765) 
at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26] 
at java.lang.Thread.run(Thread.java:680) [:1.6.0_26] 

17:42:42,734 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/myapp]] (MSC service thread 1-12) Servlet /myapp threw load() exception: java.lang.NoClassDefFoundError: Could not initialize class com.mycompany.myapp.common.persistence.HibernateUtil 
at com.mycompany.myapp.common.businessobjects.ServerSettings.GetServerSettings(ServerSettings.java:92) [classes:] 
at com.mycompany.myapp.common.jms.JMSListenerServletTemplate.init(JMSListenerServletTemplate.java:41) [classes:] 
at com.mycompany.myapp.common.jms.JMSAnywhereServlet.init(JMSAnywhereServlet.java:179) [classes:] 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3631) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3844) [jbossweb-7.0.1.Final.jar:7.0.1.Final] 
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.1.Final.jar:7.0.1.Final] 
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765) 
at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26] 
at java.lang.Thread.run(Thread.java:680) [:1.6.0_26] 

を受け始めた私の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="primary"> 
    <non-jta-data-source>java:jboss/datasources/MySqlDS</non-jta-data-source> 

    <properties> 

    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> 
    <property name="hibernate.ejb.interceptor.session_scoped" value="com.clairvista.liveexpert.common.persistence.BusinessObjectInterceptor"/> 
      </properties> 

のように見え、私のpom.xmlが

のように見えます
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>4.0.0.Beta5</version> 
    </dependency> 

    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-commons-annotations</artifactId> 
    <version>3.2.0.Final</version> 
    </dependency> 
    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>4.0.0.Beta5</version> 
    </dependency> 

    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-infinispan</artifactId> 
    <version>4.0.0.Beta5</version> 
    </dependency> 

これらのエラーをスローするコードは、私は何が起こっているのかわからないんだけど

 entityManagerFactory = Persistence.createEntityManagerFactory("primary"); 

のように見える - このアプリはjboss-as-7.0.0.Finalで働いていました。私は7.0.1がアプリケーション内にバンドルされた休止バージョンをより良くサポートしていることを知っていますが、コンテナにバンドルされているHibernateのバージョンを使用したいので、これが私の問題にどう関係しているのかよくわかりません。何か案は?

+0

ツリーをチェックサーバーのコンテキスト、ファクトリがうまく展開されているかどうかを確認する – Jorge

+0

ツリーのコンテキストを確認するにはどうすればよいですか? – user619804

+0

バージョン7.0でどのように変更できるか分かりません。バージョン4.5で、サーバーを展開した後で、http:// localhost:8280のようなパスのWebコンソールにアクセスする方法を知っていますjmx-consoleに 'jndi view'を探して' listXML'サービスを呼び出すと、jdniの名前が表示され、見つからないものが見つかります – Jorge

答えて

0

エラーが(サフィックス2なし)「主」「EntityManagerの名前のprimary2のための持続性なし・プロバイダー」を言わない

が、あなたのpersistence.xml名単位:

<persistence-unit name="primary"> 

これが問題になることができます?

+0

それは私の部分のtypoだった、PUの名前は正しいですが、私はまだエラーを取得しています。 – user619804

+0

これで、以前のpom.xmlではエラーはどのようになっていましたが、修正されたデータソース名で*はどうなりますか? –

1

hibernate-には、pom.xmlには依存関係がありません。これは、JBossにはすでにそれらがあるためです。 に設定されたJBoss 7ライブラリが必要です。が提供されています。使用するかを、

<dependency> 
    <groupId>org.jboss.spec</groupId> 
    <artifactId>jboss-javaee-6.0</artifactId> 
    <version>2.0.0.Final</version> 
    <type>pom</type> 
    <scope>provided</scope> 
</dependency> 

NoClassDefFoundErrorは、通常、クラスパスに二回あるクラスまたはインタフェースに関連するので、クラスローダは知りません。

+0

[エラー] /Users/me/Documents/hg/myapp-maven/src/main/java/com/mycompany/myapp/common/businessobjects/Product.java:[18,25]パッケージorg.hibernate.typeはサポートしていません。存在しています – user619804

+0

あなたが提案したように私はJBoss 7ライブラリを含んでいました。私はpom.xmlのハイバネート依存関係をコメントアウトしました。私はビルド中にこれらのタイプのエラーの多くを取得します。 – user619804

0

それは例えばJBossの7

に含まれているとしてあなたがprovidedにあなたの休止状態の依存関係のすべて<scope> Sを設定する必要があり、あなたの最初の依存関係と、あなたが書く必要があります:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>4.0.0.Beta5</version> 
    <scope>provided</scope> 
</dependency> 
関連する問題