Bonjour,

j'utilise le framework JAXB pour générer les classes de binding à partir d'un schéma XSD.

Je générais initialement les classes à l'aide du plugin Maven et en utilisant les arguments -Xequals, -Xhashcode pour générer les méthodes equals et hashcode comme suit :
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
 
		<plugins>
			<plugin>
				<groupId>org.jvnet.jaxb2.maven2</groupId>
				<artifactId>maven-jaxb2-plugin</artifactId>
				<version>0.8.0</version>
				<executions>
					<execution>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<generatePackage>generated</generatePackage>
					<generateDirectory>src/main/java</generateDirectory>
					<schemaDirectory>src/main/resources/</schemaDirectory>
					<schemaIncludes>
						<schemaInclude>**/*.xsd</schemaInclude>
					</schemaIncludes>
					<args>
						<arg>-XtoString</arg>
						<arg>-Xequals</arg>
						<arg>-XhashCode</arg>
					</args>
					<plugins>
						<plugin>
							<groupId>org.jvnet.jaxb2_commons</groupId>
							<artifactId>jaxb2-basics</artifactId>
							<version>0.6.3</version>
						</plugin>
					</plugins>
				</configuration>
			</plugin>
</plugins>
Pour certaines raisons, je souhaiterais générer les classes de binding dans mon composant JAVA.

Pour cela j'ai ce bout de code

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
 
		SchemaCompiler sc = XJC.createSchemaCompiler();
		sc.forcePackageName(jaxbContext);
 
		InputSource is = new InputSource(schemaFile.toURI().toString());
 
		sc.parseSchema(is);
		S2JJAXBModel model = sc.bind();
		JCodeModel jCodeModel = model.generateCode(null, null);
		try {
			jCodeModel.build(new File(outputDir));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
Le problème c'est que ce code ne génère pas les méthodes dont j'ai besoin (equals et hashcode)
D'après mes recherches sur le site https://java.net/projects/jaxb2-commons/pages/Home
il faudrait passer à la méthode generateCode un array de Plugin.

Le problème c'est que je ne vois pas comment construire cet array.

En espérant avoir été clair dans ma demande.

Merci de votre aide.

Eric