<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CADJEE Consulting &#187; XSD</title>
	<atom:link href="https://cadjee.fr/category/xsd/feed/" rel="self" type="application/rss+xml" />
	<link>https://cadjee.fr</link>
	<description>Expertise Java &#38; Système d&#039;information</description>
	<lastBuildDate>Thu, 17 Dec 2015 21:37:19 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.39</generator>
	<item>
		<title>Génération jaxb avec Maven à partir d&#8217;une xsd</title>
		<link>https://cadjee.fr/generation-jaxb-avec-maven-a-partir-dun-xsd/</link>
		<comments>https://cadjee.fr/generation-jaxb-avec-maven-a-partir-dun-xsd/#comments</comments>
		<pubDate>Mon, 04 May 2015 10:56:09 +0000</pubDate>
		<dc:creator><![CDATA[Ismael CADJEE]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JAXB]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[XSD]]></category>

		<guid isPermaLink="false">http://cadjee.fr/?p=121</guid>
		<description><![CDATA[Si vous êtes l&#8217;heureux élu d&#8217;une XSD dans votre projet&#8230;Bravo ! A partir de cette XSD on va pouvoir grâce  à jaxb : Générer les pojos java (décoré des annotations JAXB). faire du marshalling / unmarshalling. Nous nous intéresserons au point 1. Comment bien gérer cette phase de génération? Comprenons que ces POJOs générer sont, d&#8217;une [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Si vous êtes l&rsquo;heureux élu d&rsquo;une XSD dans votre projet&#8230;Bravo ! A partir de cette XSD on va pouvoir grâce  à jaxb :</p>
<ol>
<li>Générer les pojos java (décoré des annotations JAXB).</li>
<li>faire du marshalling / unmarshalling.</li>
</ol>
<p><span id="more-121"></span></p>
<p>Nous nous intéresserons au point 1. Comment bien gérer cette phase de génération? Comprenons que ces POJOs générer sont, d&rsquo;une part soumis au changement pour toute modification du XSD et d&rsquo;autre part n&rsquo;a pas lieu de faire partie intégrante de votre projet au sens package java. Le seul élément qui doit se retrouver dans votre projet c&rsquo;est la XSD lui même. L&rsquo;idée est donc d&rsquo;avoir la XSD au niveau de nos ressources projets et de demander à Maven de s&rsquo;occuper de générer les pojos à partir de la XSD puis d&rsquo;ajouter ces derniers au classpath de notre livrable (jar,war,ear&#8230;etc)  à chaque build de Maven.</p>
<p>Prenons une XSD connue du milieu bancaire (flux SEPA) : <a href="https://github.com/w2c/sepa-sdd-xml-generator/blob/master/validation_schemes/pain.008.003.02.xsd"> https://github.com/w2c/sepa-sdd-xml-generator/blob/master/validation_schemes/pain.008.003.02.xsd</a>.</p>
<ul>
<li><span style="text-decoration: underline;"><strong>Etape 1 : Bien positionner la XSD</strong></span></li>
</ul>
<p>Placer la XSD dans<strong> scr/main/ressources/maXSD </strong></p>
<ul>
<li><span style="text-decoration: underline;"><strong>Etape 2 : Configuration de Maven</strong></span></li>
</ul>
<p>Dans notre pom maven nous ajoutons le plugin pour la génération des POJOS. Il convient d&rsquo;indiquer le chemin de la xsd ainsi que le nom du package qu&rsquo;on souhaite donner pour la génération.</p>
<pre class="brush: java; title: ; notranslate">&lt;/pre&gt;
&lt;plugin&gt;
&lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;
&lt;artifactId&gt;jaxb2-maven-plugin&lt;/artifactId&gt;
&lt;executions&gt;
&lt;execution&gt;
&lt;id&gt;xjc&lt;/id&gt;
&lt;goals&gt;
&lt;goal&gt;xjc&lt;/goal&gt;
&lt;/goals&gt;
&lt;configuration&gt;
&lt;schemaDirectory&gt;src/main/resources/xsd&lt;/schemaDirectory&gt;
&lt;packageName&gt;fr.cadjee.sepa.jaxb&lt;/packageName&gt;
&lt;/configuration&gt;
&lt;/execution&gt;
&lt;/executions&gt;
&lt;/plugin&gt;
&lt;pre&gt;</pre>
<ul>
<li><span style="text-decoration: underline;"> <strong>Etape 3 : C&rsquo;est fini&#8230;lancer le build</strong></span></li>
</ul>
<p>Lancer votre <strong>mvn clean install  </strong>:</p>
<p><a href="http://cadjee.fr/wp-content/uploads/2015/04/genJAXB1.png"><img class="alignnone size-full wp-image-128" src="http://cadjee.fr/wp-content/uploads/2015/04/genJAXB1.png" alt="genJAXB" width="680" height="615" /></a></p>
<p>voici un aperçu général de l’arborescence:</p>
<p><a href="http://cadjee.fr/wp-content/uploads/2015/04/jaxb-rep.png"><img class="alignnone size-full wp-image-126" src="http://cadjee.fr/wp-content/uploads/2015/04/jaxb-rep.png" alt="jaxb-rep" width="439" height="755" /></a>    <a href="http://cadjee.fr/wp-content/uploads/2015/04/jaxb1.png"><img class="alignnone size-full wp-image-125" src="http://cadjee.fr/wp-content/uploads/2015/04/jaxb1.png" alt="jaxb1" width="402" height="691" /></a></p>
<p>&nbsp;</p>
<p>On peut bien entendu gérer plusieurs XSD dans des répertoires différents soit en ajoutant une autre exécution ou en utilisant le fichier xjb.</p>
]]></content:encoded>
			<wfw:commentRss>https://cadjee.fr/generation-jaxb-avec-maven-a-partir-dun-xsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
