java - NoSuchMethodError: org.hibernate.internal.CoreMessageLogger.debugf(Ljava/lang/String;I)V -
it's been day tring use junit try integration test hibernate. new integration test, wish doing wrong. have found on githhub example: example hibernate junit test have download , try it, , works, have try copy dependencies , class on pom(because goals use, in future, internal db , test functions have write), , copy class:
package org.hibernate.tutorial.annotations; import java.util.date; import java.util.list; import junit.framework.testcase; import org.hibernate.session; import org.hibernate.sessionfactory; import org.hibernate.cfg.configuration; public class annotationsillustrationtest extends testcase { private sessionfactory sessionfactory; @override protected void setup() throws exception { // sessionfactory set once application sessionfactory = new configuration() .configure() // configures settings hibernate.cfg.xml .buildsessionfactory(); } @override protected void teardown() throws exception { if ( sessionfactory != null ) { sessionfactory.close(); } } @suppresswarnings({ "unchecked" }) public void testbasicusage() { // create couple of events... session session = sessionfactory.opensession(); session.begintransaction(); session.close(); // lets pull events database , list them session = sessionfactory.opensession(); session.begintransaction(); list result = session.createquery( "from event" ).list(); // ( event event : (list<event>) result ) { // system.out.println( "event (" + event.getdate() + ") : " + event.gettitle() ); // } session.gettransaction().commit(); session.close(); } but when try "junit test" or "maven test" have error: java.lang.nosuchmethoderror: org.hibernate.internal.coremessagelogger.debugf(ljava/lang/string;i)v
i have see problem on dependency,so have tried change version of dependecies, use dependencies test doensn't change anything.... here pom:
<properties> <project.build.sourceencoding>utf-8</project.build.sourceencoding> <java.version>1.7</java.version> <!-- jboss dependency versions --> <version.jboss.maven.plugin>7.1.1.final</version.jboss.maven.plugin> <bcpkix-jdk15on.version>1.48</bcpkix-jdk15on.version> <cxf-bundle.version>2.5.2</cxf-bundle.version> <javax.ejb-api.version>3.2</javax.ejb-api.version> <commons-codec.version>1.6</commons-codec.version> <commons-configuration2.version>2.0</commons-configuration2.version> <commons-io.version>2.4</commons-io.version> <commons-lang.version>2.6</commons-lang.version> <commons-logging.version>1.2</commons-logging.version> <commons-logging-api.version>1.1</commons-logging-api.version> <commons-net.version>3.4</commons-net.version> <commons-collections.version>3.2.2</commons-collections.version> <commons-fileupload.version>1.2</commons-fileupload.version> <fluent-hc.version>4.3.6</fluent-hc.version> <httpclient-osgi.version>4.2.1</httpclient-osgi.version> <httpclient-cache.version>4.3.6</httpclient-cache.version> <httpcore.version>4.3.3</httpcore.version> <httpmime.version>4.3.6</httpmime.version> <log4j.version>1.2.17</log4j.version> <mysql-connector-java>5.1.31</mysql-connector-java> <!-- maven plugin --> <maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version> <maven-source-plugin.version>3.0.0</maven-source-plugin.version> <maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version> <maven-war-plugin.version>2.6</maven-war-plugin.version> <jdk.source>1.7</jdk.source> <jdk.target>1.7</jdk.target> </properties> <dependencies> <!-- not provided: --> <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec --> <dependency> <groupid>commons-codec</groupid> <artifactid>commons-codec</artifactid> <version>${commons-codec.version}</version> </dependency> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-configuration2</artifactid> <version>${commons-configuration2.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-lang/commons-lang --> <dependency> <groupid>commons-lang</groupid> <artifactid>commons-lang</artifactid> <version>${commons-lang.version}</version> </dependency> <!-- commons logging --> <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging-api --> <dependency> <groupid>commons-logging</groupid> <artifactid>commons-logging-api</artifactid> <version>${commons-logging-api.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --> <dependency> <groupid>commons-logging</groupid> <artifactid>commons-logging</artifactid> <version>${commons-logging.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-net/commons-net --> <dependency> <groupid>commons-net</groupid> <artifactid>commons-net</artifactid> <version>${commons-net.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.persistence/com.springsource.javax.persistence --> <dependency> <groupid>log4j</groupid> <artifactid>log4j</artifactid> <version>${log4j.version}</version> <!-- in questo modo prende la versione da sopra --> </dependency> <dependency> <groupid>org.apache.httpcomponents</groupid> <artifactid>httpclient-cache</artifactid> <version>${httpclient-cache.version}</version> </dependency> <dependency> <groupid>org.apache.httpcomponents</groupid> <artifactid>httpcore</artifactid> <version>${httpcore.version}</version> </dependency> <dependency> <groupid>org.apache.httpcomponents</groupid> <artifactid>httpmime</artifactid> <version>${httpmime.version}</version> </dependency> <!-- da qui in poi sono tutti provided: --> <dependency> <groupid>org.jboss.as</groupid> <artifactid>jboss-as-web</artifactid> <version>${version.jboss.maven.plugin}</version> <scope>provided</scope> </dependency> <!-- per base32 --> <dependency> <groupid>org.apache.httpcomponents</groupid> <artifactid>httpclient-osgi</artifactid> <version>${httpclient-osgi.version}</version> <scope>provided</scope> </dependency> <!-- database --> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>${mysql-connector-java}</version> <scope>provided</scope> </dependency> <dependency> <groupid>javax.ejb</groupid> <artifactid>javax.ejb-api</artifactid> <version>${javax.ejb-api.version}</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on --> <dependency> <groupid>org.bouncycastle</groupid> <artifactid>bcpkix-jdk15on</artifactid> <version>${bcpkix-jdk15on.version}</version> <!-- <scope>provided</scope> --> </dependency> <!-- cxf --> <dependency> <groupid>org.apache.cxf</groupid> <artifactid>cxf-bundle</artifactid> <version>${cxf-bundle.version}</version> <scope>provided</scope> </dependency> <dependency> <groupid>org.apache.httpcomponents</groupid> <artifactid>fluent-hc</artifactid> <version>${fluent-hc.version}</version> <scope>provided</scope> </dependency> <!-- prova junit --> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-simple</artifactid> <version>1.6.1</version> </dependency> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.10</version> </dependency> <!-- h2 in-memory database --> <dependency> <groupid>com.h2database</groupid> <artifactid>h2</artifactid> <version>1.2.145</version> </dependency> <!-- use hibernate jpa provider @ guess! --> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-entitymanager</artifactid> <version>5.0.2.final</version> </dependency> </dependencies> <!-- build --> <build> <sourcedirectory>src/main/java</sourcedirectory> <finalname>${project.artifactid}</finalname> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupid>org.jboss.as.plugins</groupid> <artifactid>jboss-as-maven-plugin</artifactid> <version>${version.jboss.maven.plugin}</version> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <version>${maven-compiler-plugin.version}</version> <configuration> <source>${jdk.source}</source> <target>${jdk.target}</target> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-war-plugin</artifactid> <version>${maven-war-plugin.version}</version> <configuration> <failonmissingwebxml>false</failonmissingwebxml> <archive> <manifestfile>src/main/resources/meta-inf/manifest.mf</manifestfile> </archive> </configuration> </plugin> </plugins> </build> some dependencies provided because use jboss deploy project; have copy persistence.xml , hibernate.cfg.xml in src/test/resources.
what doing wrong ? there best practise want do?
as xommented, had similar problem and, in case, resolved checking maven dependencies tree ... use command in prompt:
mvn dependency:tree -dverbose , reading response found library declared 2 time wasn't hibernate's library , caused problem after porting hibernate4 hibernate5.
i hope useful have problem.
Comments
Post a Comment