Maven / Hibernate - 为什么在ConstraintViolationException上有NoClassDefFoundError?

时间:2011-05-22 10:33:22

标签: java hibernate maven

我正在使用Maven构建这个Hibernate应用程序。它运行我在Eclipse中的预期方式(使用Maven插件。)但是当我从命令行“mvn clean install”jar文件时,然后尝试使用java -jar target / JarFileName.jar在jar中运行程序,该应用程序最终死于:

Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/exception/ConstraintViolationException

我在.m2目录中的hibernate jar中看到了这个类。

这是我在POM文件中遇到的与hibernate相关的最新依赖项。 (在尝试使其工作时,我已经经历了几次迭代。)

<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>3.3.2.GA</version>
</dependency>
<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-annotations</artifactId>
   <version>3.4.0.GA</version>
</dependency>
<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-commons-annotations</artifactId>
   <version>3.3.0.ga</version>
</dependency>
<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-entitymanager</artifactId>
   <version>3.4.0.GA</version>
</dependency>
<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-tools</artifactId>
   <version>3.2.3.GA</version>
   <scope>test</scope>
</dependency>

我要离开的是什么?

1 个答案:

答案 0 :(得分:1)

如果您打开构建的JAR文件(可以使用7-zip / winip / winRar / etc打开它) - 检查您是否可以在目录中看到POM中列出的Hibernate JAR。

很高兴它帮助你指明了正确的方向。