java.lang.NoClassDefFoundError:org/hibernate/criteria/criteria将一个项目划分为两个项目

java.lang.NoClassDefFoundError:org/hibernate/criteria/criteria将一个项目划分为两个项目,java,hibernate,jsp,Java,Hibernate,Jsp,我目前收到了上面的错误信息,所有我测试过的东西都没有帮助 我的程序昨天运行正常。今天我想把这个项目分成两部分。一个应该是数据库层(因为它应该由多个项目使用,从现在起称为dataProj),第二个是GUI(从现在起称为GUIProj) 正如我通常所做的那样,我现在在Project->properties->Java构建路径->Projects下将新关系写入到guiProj中 就像我在我的雄猫身上做的那样: “Tomcat->添加和删除…”发布guiProj “Tomcat->Open->Open

我目前收到了上面的错误信息,所有我测试过的东西都没有帮助

我的程序昨天运行正常。今天我想把这个项目分成两部分。一个应该是数据库层(因为它应该由多个项目使用,从现在起称为
dataProj
),第二个是GUI(从现在起称为
GUIProj

正如我通常所做的那样,我现在在
Project->properties->Java构建路径->Projects
下将新关系写入到guiProj中

就像我在我的雄猫身上做的那样: “
Tomcat->添加和删除…
”发布
guiProj
Tomcat->Open->Open launch configuration->Classpath
”添加
dataProj

由于失败,我现在在(
GUIProj和dataProj
)pom.xml中都写入了以下信息:

guiProj 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>de.test.multi</groupId>
    <artifactId>guiProj</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>
    <name>my testproject</name>

    <parent>
        <groupId>de.test.multi</groupId>
        <artifactId>dataProj</artifactId>
        <version>1.0</version>
    </parent>
    ...
    <dependencies>
    ...
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.2.13</version>
        </dependency>
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>2.2.13</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.11.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.11.Final</version>
        </dependency>
    </dependencies>
</project>
<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>de.test.multi</groupId>
    <artifactId>dataProj</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>
    <name>my data project</name>
    ...
    <dependencies>
    ...
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.2.13</version>
        </dependency>
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>2.2.13</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.11.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.11.Final</version>
        </dependency>
    </dependencies>
</project>
有人知道为什么会出现这样的失败吗?如果你需要更多的信息,请告诉我

我现在检查了关于这个主题的多个答案,但这些答案对我来说都不管用

非常感谢你的帮助

致意 比约恩

由于重复而导致的解释:
我不认为这是一个重复,有关张贴,这是在这里标记。因为maven为我自己加载这些库,而不像链接文章中那样,hibernate库丢失了。项目在部署程序集中配置,JAR放置在WEB-INF/lib中。

您需要在
guiProj
dataProj
之间建立依赖关系,以便
guiProj
可以实际使用
dataProj

下面是一个例子:

<?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>fr.gouv.finances.douane.gun.edop</groupId>
  <artifactId>check-dau-service</artifactId>
  <version>0.2.0-SNAPSHOT</version>

  <packaging>war</packaging>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.5.RELEASE</version>
  </parent>

  <properties>
    <java.version>1.7</java.version>
    <war.finalName>checkDAU</war.finalName>
  </properties>

...

4.0.0
fr.gouv.Financials.douane.gun.edop

嗨,迈克尔,非常感谢你的快速回复,我用那种方式编辑了我的项目,就像你告诉我的那样。我对这两个项目都进行了maven更新,并尝试再次将其发布到我的tomcat。肖特:效果不好:/你有更多关于我自己的信息吗?谢谢!你好您应该遵循有关Maven多模块项目的文档。您的项目是清晰的模块化的,因为您有“gui”和“数据”。
<?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>fr.gouv.finances.douane.gun.edop</groupId>
  <artifactId>check-dau-service</artifactId>
  <version>0.2.0-SNAPSHOT</version>

  <packaging>war</packaging>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.5.RELEASE</version>
  </parent>

  <properties>
    <java.version>1.7</java.version>
    <war.finalName>checkDAU</war.finalName>
  </properties>

...