本文介绍了java.lang.NoClassDefFoundError:org / hibernate / internal / CoreMessageLogger的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到这个错误运行mvn tomcat7:从这个pom.xml运行当在tomcat中部署一个应用程序7.在这里我的依赖,我想这个问题是由于混合版本的依赖包。

  $   
  • exclude 来自其他外部依赖项的传递 hibernate-core 依赖项,并且仅依赖于您的显式配置


  • I got this error running mvn tomcat7:run from this pom.xml When deploying an application in tomcat 7. Here my dependencies, I guess that the problem comes due to mixing versions of dependent packages.

    <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>
    
       <parent>
          <groupId>com.github.dandelion</groupId>
          <artifactId>dandelion-samples-parent</artifactId>
          <version>0.10.0</version>
          <relativePath>../../pom.xml</relativePath>
       </parent>
    
       <artifactId>datatables-jsp-ajax</artifactId>
       <packaging>war</packaging>
    
       <name>Dandelion :: Samples :: Datatables :: datatables-jsp-ajax</name>
    
       <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       </properties>
    
       <dependencies>
          <!-- Dandelion-Datatables -->
          <dependency>
             <groupId>com.github.dandelion</groupId>
             <artifactId>datatables-jsp</artifactId>
          </dependency>
          <dependency>
             <groupId>com.github.dandelion</groupId>
             <artifactId>datatables-spring3</artifactId>
          </dependency>
    
          <!-- Spring + Jackson -->
          <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
          </dependency>
          <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-webmvc</artifactId>
          </dependency>
          <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-orm</artifactId>
          </dependency>
          <dependency>
             <groupId>org.codehaus.jackson</groupId>
             <artifactId>jackson-mapper-asl</artifactId>
          </dependency>
    
          <!-- JSTL -->
          <dependency>
             <groupId>jstl</groupId>
             <artifactId>jstl</artifactId>
          </dependency>
    
          <!-- Servlet -->
          <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>javax.servlet-api</artifactId>
             <scope>provided</scope>
          </dependency>
    
          <!-- Tiles -->
          <dependency>
             <groupId>org.apache.tiles</groupId>
             <artifactId>tiles-jsp</artifactId>
          </dependency>
    
          <!-- Hibernate as JPA implementation -->
          <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-entitymanager</artifactId>
          </dependency>
    
          <!-- Database drivers -->
          <!-- H2 (local) -->
          <dependency>
             <groupId>com.h2database</groupId>
             <artifactId>h2</artifactId>
          </dependency>
    
          <!-- Logging -->
          <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
          </dependency>
       </dependencies>
    
       <build>
          <plugins>
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
             </plugin>
             <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
             <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
             </plugin>
          </plugins>
       </build>
    </project>
    

    Here the ../../pom.xml:

    <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>com.github.dandelion</groupId>
       <artifactId>dandelion-samples-parent</artifactId>
       <version>0.10.0</version>
       <packaging>pom</packaging>
    
       <name>Dandelion :: Samples :: Parent</name>
       <description>Parent of all Dandelion samples</description>
    
       <modules>
          <module>dandelion/dandelion-jsp-starter</module>
          <module>dandelion/dandelion-thymeleaf-starter</module>
          <module>datatables/datatables-jsp-starter</module>
          <module>datatables/datatables-jsp-themes</module>
          <module>datatables/datatables-jsp-plugins</module>
          <module>datatables/datatables-jsp-configuration-groups</module>
          <module>datatables/datatables-jsp-extension</module>
          <module>datatables/datatables-jsp-ajax</module>
          <module>datatables/datatables-jsp-i18n-struts1</module>
          <module>datatables/datatables-jsp-i18n-struts2</module>
          <module>datatables/datatables-jsp-export</module>
          <module>datatables/datatables-thymeleaf-starter</module>
          <module>datatables/datatables-thymeleaf-themes</module>
          <module>datatables/datatables-thymeleaf-plugins</module>
          <module>datatables/datatables-thymeleaf-configuration-groups</module>
          <module>datatables/datatables-thymeleaf-ajax</module>
          <module>datatables/datatables-thymeleaf-export</module>
          <module>datatables/datatables-thymeleaf-extension</module>
       </modules>
    
       <properties>
          <!-- Configuration -->
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    
          <!-- Dependencies -->
          <dandelion.version>0.10.0</dandelion.version>
          <dandelion.datatables.version>0.10.0</dandelion.datatables.version>
          <jstl.version>1.2</jstl.version>
          <tiles.version>2.2.2</tiles.version>
          <servlet-api.version>3.0.1</servlet-api.version>
          <thymeleaf.version>2.1.3.RELEASE</thymeleaf.version>
          <thymeleaf.layout.version>1.2.4</thymeleaf.layout.version>
          <thymeleaf.tiles2.version>2.1.1.RELEASE</thymeleaf.tiles2.version>
          <spring.version>3.2.8.RELEASE</spring.version>
          <jackson.version>1.9.13</jackson.version>
          <struts1.version>1.3.10</struts1.version>
          <struts2.version>2.1.8</struts2.version>
          <hibernate.version>4.3.5.Final</hibernate.version>
          <slf4j-api.version>1.7.5</slf4j-api.version>
          <logback.version>1.1.2</logback.version>
          <h2.version>1.3.175</h2.version>
    
          <!-- Maven plugins -->
          <maven-compiler-plugin.version>3.0</maven-compiler-plugin.version>
          <tomcat7-maven-plugin.version>2.0</tomcat7-maven-plugin.version>
          <jetty-maven-plugin.version>8.1.8.v20121106</jetty-maven-plugin.version>
          <spring-boot-maven-plugin.version>1.0.2.RELEASE</spring-boot-maven-plugin.version>
       </properties>
    
       <dependencyManagement>
          <dependencies>
             <!-- Dandelion -->
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>dandelion-jsp</artifactId>
                <version>${dandelion.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>dandelion-thymeleaf</artifactId>
                <version>${dandelion.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>dandelion-spring3</artifactId>
                <version>${dandelion.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>dandelion-ehcache</artifactId>
                <version>${dandelion.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>dandelion-webjars</artifactId>
                <version>${dandelion.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>dandelion-yuicompressor</artifactId>
                <version>${dandelion.version}</version>
             </dependency>
    
             <!-- Dandelion-Datatables -->
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>datatables-jsp</artifactId>
                <version>${dandelion.datatables.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>datatables-thymeleaf</artifactId>
                <version>${dandelion.datatables.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>datatables-spring3</artifactId>
                <version>${dandelion.datatables.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>datatables-compression-yui</artifactId>
                <version>${dandelion.datatables.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>datatables-export-poi</artifactId>
                <version>${dandelion.datatables.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>datatables-export-poi-ooxml</artifactId>
                <version>${dandelion.datatables.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>datatables-export-itext</artifactId>
                <version>${dandelion.datatables.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>datatables-struts1</artifactId>
                <version>${dandelion.datatables.version}</version>
             </dependency>
             <dependency>
                <groupId>com.github.dandelion</groupId>
                <artifactId>datatables-struts2</artifactId>
                <version>${dandelion.datatables.version}</version>
             </dependency>
    
             <!-- Spring -->
             <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
             </dependency>
             <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
             </dependency>
             <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${spring.version}</version>
             </dependency>
    
             <!-- Struts 1 -->
             <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts-core</artifactId>
                <version>${struts1.version}</version>
             </dependency>
             <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts-taglib</artifactId>
                <version>${struts1.version}</version>
             </dependency>
             <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts-extras</artifactId>
                <version>${struts1.version}</version>
             </dependency>
    
             <!-- Struts 2 -->
             <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-core</artifactId>
                <version>${struts2.version}</version>
             </dependency>
    
             <!-- JSTL -->
             <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl.version}</version>
             </dependency>
    
             <!-- Servlet -->
             <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet-api.version}</version>
                <scope>provided</scope>
             </dependency>
    
             <!-- Jackson -->
             <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${jackson.version}</version>
             </dependency>
    
             <!-- Thymeleaf -->
             <dependency>
                <groupId>org.thymeleaf</groupId>
                <artifactId>thymeleaf</artifactId>
                <version>${thymeleaf.version}</version>
             </dependency>
             <dependency>
                <groupId>org.thymeleaf</groupId>
                <artifactId>thymeleaf-spring3</artifactId>
                <version>${thymeleaf.version}</version>
             </dependency>
             <dependency>
                <groupId>org.thymeleaf.extras</groupId>
                <artifactId>thymeleaf-extras-tiles2</artifactId>
                <version>${thymeleaf.tiles2.version}</version>
             </dependency>
             <dependency>
                <groupId>nz.net.ultraq.thymeleaf</groupId>
                <artifactId>thymeleaf-layout-dialect</artifactId>
                <version>${thymeleaf.layout.version}</version>
             </dependency>
    
             <!-- Tiles -->
             <dependency>
                <groupId>org.apache.tiles</groupId>
                <artifactId>tiles-core</artifactId>
                <version>${tiles.version}</version>
             </dependency>
             <dependency>
                <groupId>org.apache.tiles</groupId>
                <artifactId>tiles-api</artifactId>
                <version>${tiles.version}</version>
             </dependency>
             <dependency>
                <groupId>org.apache.tiles</groupId>
                <artifactId>tiles-jsp</artifactId>
                <version>${tiles.version}</version>
             </dependency>
             <dependency>
                <groupId>org.apache.tiles</groupId>
                <artifactId>tiles-servlet</artifactId>
                <version>${tiles.version}</version>
             </dependency>
    
             <!-- Sitemesh -->
             <dependency>
                <groupId>org.sitemesh</groupId>
                <artifactId>sitemesh</artifactId>
                <version>${sitemesh3.version}</version>
             </dependency>
    
             <!-- Hibernate as JPA implementation -->
             <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${hibernate.version}</version>
             </dependency>
             <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${hibernate.version}</version>
             </dependency>
    
             <!-- Database drivers -->
             <!-- H2 (local) -->
             <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
             </dependency>
    
             <!-- Logging -->
             <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j-api.version}</version>
             </dependency>
             <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j-api.version}</version>
             </dependency>
    
             <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
             </dependency>
          </dependencies>
       </dependencyManagement>
    
       <build>
          <pluginManagement>
             <plugins>
                <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-compiler-plugin</artifactId>
                   <version>${maven-compiler-plugin.version}</version>
                   <configuration>
                      <source>1.6</source>
                      <target>1.6</target>
                   </configuration>
                </plugin>
    
                <!-- Jetty 8 -->
                <plugin>
                   <groupId>org.mortbay.jetty</groupId>
                   <artifactId>jetty-maven-plugin</artifactId>
                   <version>${jetty-maven-plugin.version}</version>
                   <configuration>
                      <connectors>
                         <connector
                            implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                            <port>9090</port>
                            <maxIdleTime>60000</maxIdleTime>
                         </connector>
                      </connectors>
                      <webAppConfig>
                         <contextPath>/${project.artifactId}</contextPath>
                      </webAppConfig>
                   </configuration>
                </plugin>
    
                <!-- Tomcat 7 -->
                <plugin>
                   <groupId>org.apache.tomcat.maven</groupId>
                   <artifactId>tomcat7-maven-plugin</artifactId>
                   <version>${tomcat7-maven-plugin.version}</version>
                   <configuration>
                      <server>tomcat-development-server</server>
                      <port>9090</port>
                      <path>/${project.artifactId}</path>
                   </configuration>
                </plugin>
    
                <!-- Spring Boot -->
                <plugin>
                   <groupId>org.springframework.boot</groupId>
                   <artifactId>spring-boot-maven-plugin</artifactId>
                   <version>${spring-boot-maven-plugin.version}</version>
                </plugin>
             </plugins>
          </pluginManagement>
       </build>
    </project>
    
    解决方案

    This class was added in the 4.x.x version and you won't find it in Hibernate 3

    hibernate-core-4.1.6.Final.jar\org\hibernate\internal\CoreMessageLogger.class
    

    It may be that you have 2 versions of hibernate-core in your Maven dependency tree.

    You need to:

    1. run mvn dependency:tree
    2. check how many hibernate-core versions you have and which other 3rd oarty dependencies are adding the hibernate-core on your behalf
    3. exclude the transitive hibernate-core dependency from other external dependencies and rely only on your explicit configuration

    这篇关于java.lang.NoClassDefFoundError:org / hibernate / internal / CoreMessageLogger的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

    08-04 18:51