我的Maven依赖项是ClassNotFound Exception或NoClassDefFoundError

时间:2012-07-06 09:47:50

标签: eclipse hibernate maven jar dependencies

这里再次(我不得不重写它以使其更全面我猜):

我得到了项目X和项目Y.他们彼此独立。当项目X使用所有hibernate依赖项时,我在项目Y上获得具有相同依赖项的ClassNotFound Exceptions和NoClassDefFoundErrors。这些错误发生了,因为hibernate jar似乎没有部署在项目Y上。我必须将它们jar放在WEB-INF / lib文件夹中,它们是为运行时部署的,而在项目X中它们已经通过依赖项部署了。区别:项目Y有一个父项目。

这里是pom.xml:

工作项目X:

    <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>org.hibernate.tutorials</groupId>
        <artifactId>hibernate-tutorial</artifactId>
        <packaging>jar</packaging>
        <version>1.0.0-SNAPSHOT</version>
        <name>First Hibernate Tutorial</name>


        <dependencies>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>4.1.3.Final</version>
            </dependency>

    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>servlet-api</artifactId>
        <version>6.0.35</version>
    </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>1.6.4</version>
            </dependency>

            <dependency>
                <groupId>javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.12.1.GA</version>
            </dependency>

        <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
            <version>1.1</version>
        </dependency>

              <dependency>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>2.0.0</version>
            </dependency>

        </dependencies>     
    </project>

项目Y:

    <?xml version="1.0"?>
    <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <modelVersion>4.0.0</modelVersion>
      <parent>
        <artifactId>com-project</artifactId>
        <groupId>com.project</groupId>
        <version>1.0-SNAPSHOT</version>
      </parent>
      <groupId>com.project.core</groupId>
      <artifactId>com-project-core</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>
      <name>com-project-core Jersey Webapp</name>

      <dependencies>
        <dependency>
          <groupId>com.project.facade</groupId>
          <artifactId>com-project-facade</artifactId>
          <version>1.0-SNAPSHOT</version>
        </dependency>

        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.8.2</version>
          <scope>test</scope>
        </dependency>

                    <!-- Hibernate -->

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>4.1.3.Final</version>
            </dependency>

            <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>servlet-api</artifactId>
        <version>6.0.35</version>
    </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>1.6.4</version>
            </dependency>

            <dependency>
                <groupId>javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.12.1.GA</version>
            </dependency>


      </dependencies>
    </project>

Project Y parent pom:

    <?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>com.project</groupId>
      <artifactId>com-project</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>pom</packaging>

      <name>com-project</name>
      <url>http://maven.apache.org</url>

      <modules>
        <module>com-project-core</module>
        <module>com-project-client</module>
        <module>com-project-facade</module>
      </modules>

      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>


    </project>

我已经尝试this尝试,但一切都已设定。

0 个答案:

没有答案