2 Replies Latest reply on Apr 4, 2008 7:01 PM by Pete Muir

    Maven woes, after new Hibernate release

    Alex Savitsky Novice

      It seems that, as of Hibernate 3.2.6 / EM 3.3.2 release, Hibernate and Seam use a different set of dependencies for common artefacts, that are not compatible at leat from Maven standpoint). One example would be JPA API jar - Seam declares this dependency as

      <groupId>javax.persistence</groupId>
      <artifactId>persistence-api</artifactId>

      while Hibernate (EM, to be exact) declares it as
      <groupId>org.hibernate</groupId>
      <artifactId>ejb3-persistence</artifactId>

      . These two are totally incompatible, as far as Maven is concerned, because they have different group and artifact ids, even though under the hood they both represent JPA API, although of different versions (1.0.0 vs 1.0.1). This means that, by default, the application would include both, unless an exclusion is placed.


      Another example would be Javassist. Actually, JBoss Maven repo has three locations for this piece of software: there's jboss/javassist (that's what Seam uses), then there's javassist/javassist (that's what Hibernate uses), and there's also org/jboss/javassist (not used by either one). Again, this means the app WAR includes both libraries, unless I interfere.


      To be honest, all this results in a total mess. I wouldn't say it's mostly due to Seam (it's not), but I would understand it, were these two frameworks (Seam and Hibernate) coming from different companies. As it stands, though, they're both are from JBoss, and I'd expect a higher level of coordination there...