Bonjour,

j'essaie d'utiliser le plugin hibernate3-maven-plugin (2.2) pour générer mes POJO (EJB3/Hibernate annotations).

Je souhaite génerer le fichier hibernate.cfg.xml (avec hbm2cfgxml), puis enchainer avec hbm2java.

Ci-dessous la partie plugins de mon pom :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
<plugins>
	<!-- Hibernate 3 Plugin -->
	<plugin>
		<groupId>org.codehaus.mojo</groupId>
		<artifactId>hibernate3-maven-plugin</artifactId>
 
		<configuration>
			<components>
				<component>
					<name>hbm2cfgxml</name>
				</component>
				<component>
					<name>hbm2java</name>
                                        <implementation>annotationconfiguration</implementation>
				</component>
			</components>
			<componentProperties>
				<revengfile>src/main/resources/hibernate.reveng.xml</revengfile>
				<packagename>test.package</packagename>
				<format>true</format>
				<haltonerror>true</haltonerror>
				<ejb3>true</ejb3>
				<propertyfile>src/main/resources/database.properties</propertyfile>
				<configurationfile>target/hibernate3/generated-mappings/hibernate.cfg.xml</configurationfile> 
			</componentProperties>
		</configuration>
 
		<executions>
			<!-- Generate hibernate.cfg.xml-->
			<execution>
				<id>hbm2cfgxml</id>
				<phase>generate-resources</phase>
				<goals>
					<goal>hbm2cfgxml</goal>
				</goals>
				<inherited>false</inherited>
			</execution>
 
			<!-- Generate Java POJO -->
			<execution>
				<id>hbm2java</id>
				<phase>generate-sources</phase>
				<goals>
					<goal>hbm2java</goal>
				</goals>
				<inherited>false</inherited>
			</execution>
		</executions>
	<dependencies>
		<dependency>
			<groupId>cglib</groupId>
			<artifactId>cglib</artifactId>
			<version>${cglibVersion}</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>${mysqlConnectorJavaVersion}</version>
		</dependency>
	</dependencies>
    </plugin>
</plugins>
La génération du fichier hibernate.cfg.xml s'execute correctement, mais je recupere une exception, lors du hbm2java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
org.hibernate.MappingException: Unable to load class declared as <mapping class="test.package.MaClasse"/> in the configuration:
	at org.hibernate.cfg.AnnotationConfiguration.parseMappingElement(AnnotationConfiguration.java:650)
	at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1589)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1568)
	at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1047)
	at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:64)
....
Caused by: java.lang.ClassNotFoundException: test.package.MaClasse
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
	at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
	at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
	at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:169)
	at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:123)
	at org.hibernate.cfg.AnnotationConfiguration.parseMappingElement(AnnotationConfiguration.java:647)
	... 35 more
Par ailleurs, j'ai les traces suivantes au début de l'execution mvn install :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
[INFO] Preparing hibernate3:hbm2java
[WARNING] Removing: hbm2java from forked lifecycle, to prevent recursive invocation.
[INFO] Preparing hibernate3:hbm2cfgxml
[WARNING] Removing: hbm2java from forked lifecycle, to prevent recursive invocation.
[WARNING] Removing: hbm2cfgxml from forked lifecycle, to prevent recursive invocation.
Comment éviter les forked lifecycle, et comment ne plus avoir l'exception "Class not Found" ?

Merci d'avance pour votre aide.