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>
...