java - Maven Hibernate dependencies -


in project have following dependencies:

hibernate-core-3.3.1.ga.jar hibernate-commons-annotations-3.3.0.ga.jar | |----hibernate-3.2.1.ga.jar 

as far can see, hibernate-3.2.1.ga.jar , hibernate-core-3.3.1.ga.jar contains pretty same classes. now, during debugging session i've noticed there 2 org.hibernate.impl.criteriaimpl classes. 1 hibernate-core-3.3.1.ga.jar , 1 hibernate-3.2.1.ga.jar. when call uniqueresult method on criteria object, uniqueresult hibernate-3.2.1.ga.jar's criteriaimpl applied.

that's not behavior want. how can manage dependencies criteriaimpl hibernate-core-3.3.1.ga.jar applied?

that particular dependency coming directly hibernate-commons-annotations' pom file.

it case you've got project picking dependency, want explicitly exclude it picked other classes use.

<dependency>     <groupid>org.hibernate</groupid>     <artifactid>hibernate-commons-annotations</artifactid>     <version>3.3.0-ga</version>     <exclusions>         <exclusion>             <groupid>org.hibernate</groupid>             <artifactid>hibernate</artifactid>         </exclusion>     </exclusions> </dependency> 

Comments