2017-01-10 7 views
1

私はJSFは、休止状態使用してプロジェクトを作成して、GlassFishのフレームワークとMySQLにHibernate 5.2.1 Glassfishの4.1.1プロジェクトのエラー:java.lang.NoSuchMethodErrorの:org.jboss.logging.Logger.debugf

しかし、私

java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V 
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:98) 
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:71) 
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:52) 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) 
at dao.PersistenceManager.getEntityManagerFactory(PersistenceManager.java:15) 
at dao.GenericDao.create(GenericDao.java:18) 
at Session.HelloMyBite.getWelcomeMessage(HelloMyBite.java:26) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at javax.el.BeanELResolver.getValue(BeanELResolver.java:363) 
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) 
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) 
at com.sun.el.parser.AstValue.getValue(AstValue.java:140) 
at com.sun.el.parser.AstValue.getValue(AstValue.java:204) 
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226) 
at com.sun.faces.facelets.el.ELText$ELTextVariable.writeText(ELText.java:238) 
at com.sun.faces.facelets.el.ELText$ELTextComposite.writeText(ELText.java:154) 
at com.sun.faces.facelets.compiler.TextInstruction.write(TextInstruction.java:85) 
at com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82) 
at com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) 
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:458) 
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134) 
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659) 
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) 
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) 
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) 
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) 
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283) 
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) 
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) 
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180) 
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) 
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) 
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) 
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) 
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) 
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) 
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591) 
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571) 
at java.lang.Thread.run(Thread.java:745) 

persistanceManager.xml:

<?xml version="1.0" encoding="UTF-8"?> 
    <persistence 
    xmlns="http://java.sun.com/xml/ns/persistence" 
    version="2.0"> 

<persistence-unit name="My-PU" 
        transaction-type="RESOURCE_LOCAL"> 

    <provider> 
     org.hibernate.ejb.HibernatePersistence 
    </provider> 

    <properties> 
     <property 
       name="javax.persistence.jdbc.driver" 
       value="com.mysql.jdbc.Driver" /> 
     <property 
       name="javax.persistence.jdbc.users" 
       value="root" /> 
     <property 
       name="javax.persistence.jdbc.password" 
       value="" /> 
     <property 
       name="javax.persistence.jdbc.url" 
       value="jdbc:mysql://localhost:3306/myjsfTest" /> 
     <property 
       name="hibernate.hbm2ddl.auto" 
       value="update" /> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> 
    </properties> 
    </persistence-unit> 
</persistence> 

のpom.xml:

私のデータベース内のユーザを保存しようと、私はこれらのエラーを取得します
<?xml version="1.0" encoding="UTF-8"?> 
    <project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>4JVA</groupId> 
<artifactId>4JVA</artifactId> 
<version>1.0-SNAPSHOT</version> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
<dependencies> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>6.0.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>5.2.5.Final</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>jboss-logging</artifactId> 
       <groupId>org.jboss.logging</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>5.2.1.Final</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>jboss-logging</artifactId> 
       <groupId>org.jboss.logging</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-c3p0</artifactId> 
     <version>5.1.0.Final</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>jboss-logging</artifactId> 
       <groupId>org.jboss.logging</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <artifactId>jboss-logging</artifactId> 
     <groupId>org.jboss.logging</groupId> 
     <version>3.2.0.Final</version> 
    </dependency> 
    </dependencies> 
</project> 

のPersistenceManagerクラス:

package dao; 

import javax.persistence.EntityManagerFactory; 
import javax.persistence.Persistence; 

/** 
* Created by sya on 1/10/2017. 
*/ 
public class PersistenceManager { 
    private static EntityManagerFactory emf; 

    // Lazy initialization 
    public static EntityManagerFactory getEntityManagerFactory(){ 
     if(emf == null){ 
      emf = Persistence.createEntityManagerFactory("My-PU"); 

     } 
     return emf; 
    } 

    //Private constructor prevent instantiation 
    private PersistenceManager(){} 

    public static void closeEntityManagerFactory() { 
     if(emf != null && emf.isOpen()) emf.close(); 
    } 
} 

私はこの問題を解決するにはどうすればよいですか?

+0

の質問に、あなたの 'pom.xml'を追加してください。私は2ヶ月前に問題を抱えていました。これは、フレームワークのバージョンを記録することの問題です。 – JimHawkins

+0

@JimHawkins私はしました –

+0

[Hibernate 5 + Glassfish 4.1.1の可能な複製:java.lang.NoSuchMethodError:org.jboss.logging.Logger.debugf(Ljava/lang/String; I)V ](http://stackoverflow.com/questions/34813782/hibernate-5-glassfish-4-1-1-java-lang-nosuchmethoderror-org-jboss-logging-lo) – Mike

答えて

0

私は解決策を見つける:

Problem :The version of glassfish 
    glassfish 4.1.1 has problem with the jdbc you can't create the jdbc in the control panel of glassfish 4.1.1 

Solution : Use the glassfish 4.0.0 
関連する問題