【问题标题】:Hibernate 3.6.0 with Maven使用 Maven 的休眠 3.6.0
【发布时间】:2011-03-01 23:51:00
【问题描述】:

我在将 pom 文件从 Hibernate 3.3.2 升级到 3.6.0 时遇到问题。我可以正常编译,jar 文件正在被拉下,但我收到以下错误:java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.cfg.Configuration 运行 Surefire 测试时。这个类在引用的 JAR 中,所以我不太确定这里发生了什么,除非类路径 maven 正在使用以某种方式引用错误的 jar。我清除了本地存储库缓存,但无济于事。

我的 pom 片段如下。有什么想法吗?

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

<repository>
  <id>JBoss</id>
  <name>JBoss repository</name>
  <url>https://repository.jboss.org/nexus/content/groups/public-jboss</url>
</repository>  

【问题讨论】:

    标签: hibernate maven


    【解决方案1】:

    NoClassDefFoundError 表示无法实例化该类。一种可能性是缺少一些 hibnernate 所需的依赖项。 This thread 讨论了您的问题并提出了解决方案。

    【讨论】:

    • 我也找到了这个解决方案,但在答案中,看起来他们的mvn install 命令工作正常,只有当他们试图在 maven 之外运行成品时,他们才需要弄脏与类路径。我还认为 Maven 会获得 POM 所需的所有子依赖项
    • @spintheblack maven 对运行时依赖一无所知
    【解决方案2】:

    我结束了清理我的存储库并重新下载了所有内容,它工作正常。呃,最好的错误...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多