我正在使用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>
我要离开的是什么?
答案 0 :(得分:1)
如果您打开构建的JAR文件(可以使用7-zip / winip / winRar / etc打开它) - 检查您是否可以在目录中看到POM中列出的Hibernate JAR。
很高兴它帮助你指明了正确的方向。