<?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>Everything is wrong &#187; Eclipse</title>
	<atom:link href="http://everythingiswrong.free.fr/index.php/tag/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://everythingiswrong.free.fr</link>
	<description>Un blog dédié à l&#039;informatique en général</description>
	<lastBuildDate>Wed, 06 Oct 2021 21:20:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Eclipse : Expressions régulières</title>
		<link>http://everythingiswrong.free.fr/index.php/2013/07/16/eclipse-expressions-regulieres/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2013/07/16/eclipse-expressions-regulieres/#comments</comments>
		<pubDate>Tue, 16 Jul 2013 19:47:07 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://everythingiswrong.free.fr/?p=2311</guid>
		<description><![CDATA[Les expressions régulières sont très importantes lors qu&#8217;il s&#8217;agit de rechercher des informations dans du texte. Cependant, elles peuvent, dans certain, devenir très compliquées. C&#8217;est d&#8217;ailleurs la principale raison pour laquelle beaucoup de monde préfère utiliser autre chose pour rechercher des informations dans une chaîne de caractères, par exemple à l&#8217;aide de découpage arbitraire de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Les expressions régulières sont très importantes lors qu&#8217;il s&#8217;agit de rechercher des informations dans du texte. Cependant, elles peuvent, dans certain, devenir très compliquées. C&#8217;est d&#8217;ailleurs la principale raison pour laquelle beaucoup de monde préfère utiliser autre chose pour rechercher des informations dans une chaîne de caractères, par exemple à l&#8217;aide de découpage arbitraire de cette même chaîne. En utilisant la fonction Java <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split%28java.lang.String%29" target="_blank">split</a> par exemple.</p>
<p style="text-align: justify;">Un plugin <a href="http://www.eclipse.org" target="_blank">Eclipse</a> offre la possibilité de vérifier en directe une expression régulière : <a href="http://myregexp.com/eclipsePlugin.html" target="_blank">myregexp</a>. Ce plugin existe aussi en version en ligne <a href="http://myregexp.com/" target="_blank">ici</a>.</p>
<p><img class="aligncenter" src="http://myregexp.com/images/plugin.PNG" alt="" width="595" height="214" /></p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2013/07/16/eclipse-expressions-regulieres/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JRebel m2e connector</title>
		<link>http://everythingiswrong.free.fr/index.php/2013/02/08/jrebel-m2e-connector/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2013/02/08/jrebel-m2e-connector/#comments</comments>
		<pubDate>Fri, 08 Feb 2013 22:48:02 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Java J2EE]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JRebel]]></category>

		<guid isPermaLink="false">http://everythingiswrong.free.fr/?p=2091</guid>
		<description><![CDATA[Configurer JRebel eclipse et Maven]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Le connecteur m2e de JRebel ne s&#8217;installe plus à partir du marketplace eclipse. Pour l&#8217;installer il faut passer par la mise à jour manuelle. Dans les menus de l&#8217;IDE : <em>Help -&gt; Install New software&#8230;</em></p>
<p style="text-align: justify;">Le site d&#8217;update est : <em>http://update.zeroturnaround.com/update-site</em>. Le plugin à installer : <em>JRebel m2eclipse</em>.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://everythingiswrong.free.fr/wp-content/uploads/m2e-JRebel.jpg" alt="" width="600" height="588" /></p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2013/02/08/jrebel-m2e-connector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse compiler &amp; m2e</title>
		<link>http://everythingiswrong.free.fr/index.php/2012/01/24/eclipse-compiler-m2e/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2012/01/24/eclipse-compiler-m2e/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 21:45:08 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Java J2EE]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://everythingiswrong.free.fr/?p=1745</guid>
		<description><![CDATA[Paramétrer m2e avec un compilateur alternatif (JDT au lieu de Javac par exemple)]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Récemment, j&#8217;ai appris que l&#8217;IDE eclipse n&#8217;utilisait pas le compilateur de la JDK (javac) pour transformer les fichiers Java en Class. C&#8217;est d&#8217;ailleurs pour cela qu&#8217;il est possible de développer et compiler du code sans avoir installer la JDK sur son ordinateur.</p>
<p style="text-align: justify;">Par défaut, Maven utilise javac pour compiler les sources Java. Or, dans certains cas, le compilateur eclipse (JDT) accepte de compiler des classes là où javac sort en erreur. Par exemple, voici un code qui compile avec le JDT et pas avec javac :</p>
<pre class="brush: java; gutter: true; first-line: 1; highlight: [8,9]">package com.test;

public class GenericMethod {

    private Object value;

    @SuppressWarnings("unchecked")
    public &lt;X&gt; X getValue() {
        return (X) value;
        // le cast n'est obligatoire que pour que javac compile
        // avec le compilateur eclipse, il n'est pas nécessaire
    }

    public void setValue(Object value) {
        this.value = value;
    }
}</pre>
<p style="text-align: justify;">Voici la classe pour appeler la méthode :</p>
<pre class="brush: java; gutter: true; first-line: 1; highlight: [11]">package com.test;

public class GenericMethodTest {

    public static void main(String[] args) {
        GenericMethod method = new GenericMethod();
        method.setValue(3);

        int[] array = new int[] {1, 2};

        array[0] = method.getValue();
        System.out.println(array[0]);
    }
}</pre>
<p style="text-align: justify;">Avec javac, la ligne 11 de la classe <em>GenericMethodTest</em> provoque l&#8217;erreur suivante :</p>
<pre>type parameters of &lt;X&gt;X cannot be determined;no unique maximal instance exists for type variable X with upper bounds int,java.lang.Object</pre>
<p style="text-align: justify;">Il peut donc être essentiel d&#8217;utiliser dans le processus de build un autre compilateur que javac. Il est possible de configurer le plugin <a href="http://maven.apache.org/plugins/maven-compiler-plugin/">maven-compiler-plugin</a> afin d&#8217;utiliser un compilateur alternatif. Par exemple, pour utiliser le compilateur eclipse c&#8217;est très simple :</p>
<pre class="brush: xml; gutter: true; first-line: 1; highlight: [11]">&lt;project&gt;
  [...]
  &lt;build&gt;
    [...]
    &lt;plugins&gt;
      [...]
      &lt;plugin&gt;
        &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
        &lt;version&gt;2.3.2&lt;/version&gt;
        &lt;configuration&gt;
          &lt;compilerId&gt;eclipse&lt;/compilerId&gt;
        &lt;/configuration&gt;
        &lt;dependencies&gt;
          &lt;dependency&gt;
            &lt;groupId&gt;org.codehaus.plexus&lt;/groupId&gt;
            &lt;artifactId&gt;plexus-compiler-eclipse&lt;/artifactId&gt;
          &lt;/dependency&gt;
        &lt;/dependencies&gt;
      &lt;/plugin&gt;
  [...]
&lt;/project&gt;</pre>
<p style="text-align: justify;">Le build maven fonctionne parfaitement, en revanche l&#8217;utilisation du compilateur alternatif a des effets secondaires lorsqu&#8217;il est utilisé par le plugin eclipse m2e. La modification des fichiers .classpath et .project ne fonctionne plus correctement et cela provoque :</p>
<ul>
<li>La nature java du projet n&#8217;est pas détectée,</li>
<li>Les dépendances ne sont plus récupérées,</li>
<li>Les répertoires sources (src/main/java, src/main/resources, etc.) ne sont plus référencés</li>
</ul>
<p style="text-align: justify;">Le problème du nouveau plugin m2e c&#8217;est qu&#8217;il ne reconnaît les projets maven en tant que projets java que lorsque le compilateur utilisé est javac. Pour configurer un projet eclipse utilisant le compilateur eclipse, il est donc nécessaire d&#8217;indiquer à m2e qu&#8217;il s&#8217;agit bien d&#8217;un projet Java :</p>
<pre class="brush: xml; gutter: true; first-line: 1; highlight: [13,20,25]">&lt;pluginManagement&gt;
  &lt;plugins&gt;
    &lt;plugin&gt;
      &lt;groupId&gt;org.eclipse.m2e&lt;/groupId&gt;
      &lt;artifactId&gt;lifecycle-mapping&lt;/artifactId&gt;
      &lt;version&gt;1.0.0&lt;/version&gt;
      &lt;configuration&gt;
        &lt;lifecycleMappingMetadata&gt;
          &lt;pluginExecutions&gt;
            &lt;pluginExecution&gt;
              &lt;pluginExecutionFilter&gt;
                &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                &lt;versionRange&gt;[2.0,)&lt;/versionRange&gt;
                &lt;goals&gt;
                  &lt;goal&gt;compile&lt;/goal&gt;
                  &lt;goal&gt;testCompile&lt;/goal&gt;
                &lt;/goals&gt;
              &lt;parameters&gt;
                &lt;compilerId&gt;eclipse&lt;/compilerId&gt;
              &lt;/parameters&gt;
             &lt;/pluginExecutionFilter&gt;
             &lt;action&gt;
               &lt;configurator&gt;
                 &lt;id&gt;org.eclipse.m2e.jdt.javaConfigurator&lt;/id&gt;
               &lt;/configurator&gt;
             &lt;/action&gt;
           &lt;/pluginExecution&gt;
          &lt;/pluginExecutions&gt;
        &lt;/lifecycleMappingMetadata&gt;
      &lt;/configuration&gt;
    &lt;/plugin&gt;
  &lt;/plugins&gt;
&lt;/pluginManagement&gt;</pre>
<p style="text-align: justify;">Dès que m2e reconnaît le projet en tant que projet java, la fonction <em>Update project configuration</em>, configurera les répertoires sources et mettra à jour le classpath du projet.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2012/01/24/eclipse-compiler-m2e/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Eclipse et les proxies NTML</title>
		<link>http://everythingiswrong.free.fr/index.php/2011/10/23/eclipse-et-les-proxies-ntml/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2011/10/23/eclipse-et-les-proxies-ntml/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 19:05:57 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://everythingiswrong.free.fr/?p=1676</guid>
		<description><![CDATA[proxy eclipse NTML]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Mettre à jour  ou installer un plugin Eclipse c&#8217;est très simple lorsque l&#8217;IDE arrive à se connecter sur internet. Malheureusement, ce dernier n&#8217;est pas compatible avec tous les proxies. Par exemple, l&#8217;authentification sur les proxies NTML ne fonctionne pas. J&#8217;en ai fait les frais un certain temps. Je me suis d&#8217;ailleurs acharné sur le fichier eclipse.ini en suivant toujours les mêmes conseils (<a href="http://wiki.eclipse.org/ECF_Filetransfer_Support_for_NTLMv2_Proxies">http://wiki.eclipse.org/ECF_Filetransfer_Support_for_NTLMv2_Proxies</a>). Je suis même allez jusqu&#8217;à écouter le trafic du réseau pour vérifier que l&#8217;authentification posait bien problème.</p>
<p style="text-align: justify;">La seule solution que j&#8217;ai trouvé c&#8217;est d&#8217;utiliser un proxy compatible avec l&#8217;authentification NTML entre mon IDE et le proxy à &#8220;contourner&#8221;. C&#8217;est cet intermédiaire qui va prendre en charge l&#8217;authentification à la place d&#8217;Eclipse.</p>
<p style="text-align: justify;"><a href="http://cntlm.sourceforge.net/">CNTML</a> me paraît être une bonne solution. Il s&#8217;installe sous windows en tant que service et il n&#8217;y a qu&#8217;un seul fichier de configuration pour lui indiquer le proxy pour aller sur internet.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2011/10/23/eclipse-et-les-proxies-ntml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Appliation J2EE6 avec JBoss 7 et Maven</title>
		<link>http://everythingiswrong.free.fr/index.php/2011/08/03/appliation-j2ee6-avec-jboss-7-et-maven/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2011/08/03/appliation-j2ee6-avec-jboss-7-et-maven/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 18:57:10 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Java J2EE]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Tests]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://yan.langlois.free.fr/wordpress/?p=1535</guid>
		<description><![CDATA[Modèle d'applications J2EE6 avec JBoss 7 comportant : JSF2, JPA, EJB3, REST.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">JBoss propose un certain nombre d&#8217;archetypes dont un qui génère  une application J2EE6 pour JBoss 7 : org.jboss.spec.archetypes:jboss-javaee6-webapp. Or, par défaut, maven ne connait pas cet archetype. Voici comment réussir à l&#8217;utiliser dans Eclipse.</p>
<p style="text-align: justify;">Avant toute chose, il faut vérifier que maven est configuré pour aller chercher des librairies sur le repository JBoss : le fichier settings.xml (~/.m2/settings.xml ou $MAVEN_HOME/conf/settings.xml) doit contenir  le code XML suivant :</p>
<pre class="brush: xml; toolbar: true;">&lt;settings&gt;
 ...
  &lt;profiles&gt;
    ...
    &lt;profile&gt;
      &lt;id&gt;jboss-public-repository&lt;/id&gt;
      &lt;repositories&gt;
        &lt;repository&gt;
          &lt;id&gt;jboss-public-repository-group&lt;/id&gt;
          &lt;name&gt;JBoss Public Maven Repository Group&lt;/name&gt;
          &lt;url&gt;https://repository.jboss.org/nexus/content/groups/public-jboss/&lt;/url&gt;
          &lt;layout&gt;default&lt;/layout&gt;
          &lt;releases&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
            &lt;updatePolicy&gt;never&lt;/updatePolicy&gt;
          &lt;/releases&gt;
          &lt;snapshots&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
            &lt;updatePolicy&gt;never&lt;/updatePolicy&gt;
          &lt;/snapshots&gt;
        &lt;/repository&gt;
      &lt;/repositories&gt;
      &lt;pluginRepositories&gt;
        &lt;pluginRepository&gt;
          &lt;id&gt;jboss-public-repository-group&lt;/id&gt;
          &lt;name&gt;JBoss Public Maven Repository Group&lt;/name&gt;
          &lt;url&gt;https://repository.jboss.org/nexus/content/groups/public-jboss/&lt;/url&gt;
          &lt;layout&gt;default&lt;/layout&gt;
          &lt;releases&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
            &lt;updatePolicy&gt;never&lt;/updatePolicy&gt;
          &lt;/releases&gt;
          &lt;snapshots&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
            &lt;updatePolicy&gt;never&lt;/updatePolicy&gt;
          &lt;/snapshots&gt;
        &lt;/pluginRepository&gt;
      &lt;/pluginRepositories&gt;
    &lt;/profile&gt;

  &lt;/profiles&gt;

  &lt;activeProfiles&gt;
    &lt;activeProfile&gt;jboss-public-repository&lt;/activeProfile&gt;
  &lt;/activeProfiles&gt;
  ...
&lt;/settings&gt;
</pre>
<p style="text-align: justify;">Ensuite, pour créer le projet dans Eclipse, il faut commencer par installer le catalogue JBoss : <em>Windows -&gt; Preferences&#8230;</em> puis dans la fenêtre <em>Maven -&gt; Achetypes</em> cliquer sur le bouton  <em>Add Remote Catalog&#8230;</em> Saisir <a href="https://repository.jboss.org/nexus/content/groups/public/archetype-catalog.xml" target="_blank">https://repository.jboss.org/nexus/content/groups/public/archetype-catalog.xml</a> dans l&#8217;intitulé Catalogue File et JBoss dans Description. Après l&#8217;opération, il ne reste plus qu&#8217;à accéder au wizard de création d&#8217;un projet Maven (<em>File -&gt; New -&gt; Project&#8230;</em> puis <em>Maven project</em>) et de sélectionner l&#8217;archetype jboss-javaee6-webapp.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/jboss-javaee6-webapp.png" alt="" width="577" height="488" /></p>
<p style="text-align: justify;">Le squelette de l&#8217;application est celui-ci :</p>
<p class="wp-caption" style="text-align: justify;">/home/&#8230;/jboss-webapp-j2ee6<br />
|&#8211; pom.xml<br />
|&#8211; readme.html<br />
|&#8211; readme.md<br />
`&#8211; src<br />
|&#8211; main<br />
|   |&#8211; java<br />
|   |   `&#8211; test<br />
|   |       `&#8211; jboss_webapp_j2ee6<br />
|   |           |&#8211; controller<br />
|   |           |   `&#8211; MemberRegistration.java<br />
|   |           |&#8211; data<br />
|   |           |   `&#8211; MemberListProducer.java<br />
|   |           |&#8211; model<br />
|   |           |   `&#8211; Member.java<br />
|   |           |&#8211; rest<br />
|   |           |   |&#8211; JaxRsActivator.java<br />
|   |           |   `&#8211; MemberResourceRESTService.java<br />
|   |           `&#8211; util<br />
|   |               `&#8211; Resources.java<br />
|   |&#8211; resources<br />
|   |   |&#8211; import.sql<br />
|   |   `&#8211; META-INF<br />
|   |       `&#8211; persistence.xml<br />
|   `&#8211; webapp<br />
|       |&#8211; index.html<br />
|       |&#8211; index.xhtml<br />
|       |&#8211; resources<br />
|       |   |&#8211; css<br />
|       |   |   `&#8211; screen.css<br />
|       |   `&#8211; gfx<br />
|       |       |&#8211; banner.png<br />
|       |       `&#8211; logo.png<br />
|       `&#8211; WEB-INF<br />
|           |&#8211; beans.xml<br />
|           |&#8211; faces-config.xml<br />
|           `&#8211; templates<br />
|               `&#8211; default.xhtml<br />
`&#8211; test<br />
|&#8211; java<br />
|   `&#8211; test<br />
|       `&#8211; jboss_webapp_j2ee6<br />
|           `&#8211; test<br />
|               `&#8211; MemberRegistrationTest.java<br />
`&#8211; resources<br />
`&#8211; arquillian.xml</p>
<p style="text-align: justify;">Ce qui équivaut à une application de départ avec un exemple JSF2 s&#8217;appuyant sur une base de données  embarquée avec quelques classes constituant un modèle MVC, un exemple de service web REST, et un exemple de test unitaire avec Arquillian. A noter aussi, l&#8217;utilisation d&#8217;un EJB3 archivé dans un WAR et non un EAR comme il aurait fallu le faire avec J2EE5.</p>
<p style="text-align: justify;">Pour déployer l&#8217;application il faut la packager et utiliser le plugin JBoss de déploiement déjà configuré par l&#8217;archetype (<em>maven package jboss-as:deploy</em>). Attention, pour que tout se déroule correctement, il faudra avoir démarré votre serveur <a href="http://www.jboss.org/jbossas" target="_blank">JBoss7</a> au préalable.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2011/08/03/appliation-j2ee6-avec-jboss-7-et-maven/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Eclispe IDE : MoreUnit</title>
		<link>http://everythingiswrong.free.fr/index.php/2011/06/29/eclispe-ide-moreunit/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2011/06/29/eclispe-ide-moreunit/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 20:41:11 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Tests unitaires]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false">http://yan.langlois.free.fr/wordpress/?p=862</guid>
		<description><![CDATA[Comment gagner du temps lors du développement de tests unitaire ?]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Il y a quelques mois, on m&#8217;a fait découvrir le plugin eclipse <a href="http://moreunit.sourceforge.net" target="_blank">MoreUnit</a>. Comme je le trouve très pratique, je profite de mon blog pour en parler. Il permet de gagner du temps pour le développement et l&#8217;exécution des tests unitaires. Il facilite aussi l&#8217;association entre les classes destinées à l&#8217;exécution et celles qui vont les tester. Ce plugin est disponible sur le marketplace.</p>
<p style="text-align: justify;">Si l&#8217;option <em>Decorate Classes with Test Case</em> est activée (<em>Window &gt; Preferences&#8230; &gt; General &gt; Appearance 			&gt; Label Decorations</em>), les classes qui sont testées sont représentées avec un icon différent :</p>
<p style="text-align: center;"><img class="aligncenter" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/classDecoration.png" alt="" width="252" height="257" /></p>
<p style="text-align: justify;">La même marque verte apparaît au niveau de la marge de l&#8217;éditeur Java au début des méthodes testées :</p>
<p style="text-align: center;"><img class="aligncenter" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/markerEditor.png" alt="" width="348" height="272" /></p>
<p style="text-align: justify;">A partir d&#8217;une classe, un menu contextuel permet les actions suivantes :</p>
<ul>
<li>Ouvrir la classe de test associée</li>
<li>Générer la classe de test si celle-ci n&#8217;existe pas</li>
<li>Exécuter la classe de test en entier</li>
<li>Exécuter les méthodes de test associées à une sélection de méthodes de la classe d&#8217;origine</li>
</ul>
<p>Le plugin sait aussi prendre en compte les refactorings de la classe testée :</p>
<ul>
<li>Si la classe testée est renommée, la classe de test est renommé elle aussi</li>
<li>Idem, si la méthode testée est renommée, les méthodes de test le sont aussi</li>
<li>Si la classe testée change de package, la classe de test change aussi de package</li>
</ul>
<p style="text-align: justify;">Enfin, la dernière fonctionnalité que je trouve très utile dans certains contextes, MoreUnit peut générer les mocks des objets utilisés dans la classe testée. Il est compatible avec Mockito et EasyMock. Il ne reste plus qu&#8217;a les paraméter.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2011/06/29/eclispe-ide-moreunit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Profiler une application J2EE avec JBoss et TPTP</title>
		<link>http://everythingiswrong.free.fr/index.php/2011/03/10/profiler-une-application-j2ee-avec-jboss-et-tptp/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2011/03/10/profiler-une-application-j2ee-avec-jboss-et-tptp/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 19:00:06 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Java J2EE]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://yan.langlois.free.fr/wordpress/?p=864</guid>
		<description><![CDATA[Comment utiliser Eclipse pour profiler une applications J2EE déployé sur JBoss.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Cet article va vous expliquer comment utiliser Eclipse pour vérifier les performances d&#8217;une application sous JBoss. Je vous laisserai découvrir les écrans de reporting par vous même car ils dépendent de votre code source.</p>
<h1>Installation</h1>
<p style="text-align: justify;">Il est nécessaire d&#8217;installer les plugins suivant dans eclipse :</p>
<ul>
<li style="text-align: justify;">TPTP qui est dispoinble à partir du site d&#8217;update : <a href="http://download.eclipse.org/tptp/updates/galileo/" target="_blank">http://download.eclipse.org/tptp/updates/galileo/</a></li>
<li style="text-align: justify;">JBoss Tools (notamment <em>Test and Performances -&gt; TPTP Profile On JBoss Server</em>) qui est disponible à partir du site d&#8217;update : <a href="http://download.jboss.org/jbosstools/updates/development/" target="_blank">http://download.jboss.org/jbosstools/updates/development/</a></li>
</ul>
<p>Puis il faut créer un serveur JBoss depuis la vue <em>Server</em>.</p>
<h2>TPTP</h2>
<p style="text-align: center;"><img class="aligncenter" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/installTPTP.jpg" alt="" width="566" height="594" /></p>
<h2>JBoss TPTP</h2>
<p style="text-align: center;"><img class="aligncenter" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/installJBossTPTP.jpg" alt="" width="420" height="529" /></p>
<h1>Exécution</h1>
<p style="text-align: justify;">Pour exécuter le profilage, il faut démarrer votre serveur JBoss avec le bouton <em>Profile</em>. Eclipse vous demande de choisir le type d&#8217;informations à mesurer. Une seule possibilité à la fois (je n&#8217;ai pas encore compris pourquoi je ne peux pas avoir plusieurs data collector en même temps&#8230;) :</p>
<p style="text-align: center;"><img class="aligncenter" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/profileOption.jpg" alt="" width="551" height="519" /></p>
<p style="text-align: justify;">Avant de cliquer sur le bouton <em>Finish</em>, n&#8217;hésitez pas à ajouter ou modifier les filtres par défaut en double-cliquant sur <em>Java Profiling</em>. Cela va vous permettre de focaliser votre attention sur votre code et non celui des librairies tierces que vous utilisez :</p>
<p style="text-align: center;"><img class="aligncenter" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/profilingOption.jpg" alt="" width="387" height="584" /></p>
<p style="text-align: justify;">Après le démarrage de votre serveur en mode profile, le collecteur de données se synchronise à intervalle de temps régulier. Pour éviter d&#8217;enregistrer des informations inutiles, vous pouvez le mettre en pause par exemple.</p>
<h1>Problèmes rencontrés et astuces</h1>
<h2>JRebel</h2>
<p style="text-align: justify;">Il faut savoir que JRebel ne fonctionne pas lorsqu&#8217;on utilise TPTP. Donc si vous utilisez cet outil, il faudra le désactiver (démarrer votre serveur JBoss sans les paramètres JRebel) pour pouvoir profiler votre application.</p>
<h2 style="text-align: justify;">Profiles indisponibles</h2>
<p style="text-align: justify;">Si lorsque vous essayez de démarrer votre serveur en mode profile vous avez une exception vous parlant de collecteur de données, vérifier que vos plugins soient bien à jour.</p>
<h2 style="text-align: justify;">Performances</h2>
<p style="text-align: justify;">TPTP est très gourmand en mémoire donc ne vous étonnez pas de voire les performances de votre application chuter rapidement. J&#8217;ai aussi remarqué que les performances d&#8217;éclipse s&#8217;effondrent rapidement lors de l&#8217;analyse des données quand celles-ci sont très volumineuses.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2011/03/10/profiler-une-application-j2ee-avec-jboss-et-tptp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse : autocompletion sur les imports statiques</title>
		<link>http://everythingiswrong.free.fr/index.php/2010/12/13/eclipse-autocompletion-sur-les-imports-statiques/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2010/12/13/eclipse-autocompletion-sur-les-imports-statiques/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 11:39:13 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Java J2EE]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://yan.langlois.free.fr/wordpress/?p=695</guid>
		<description><![CDATA[Configuration de l'autocomplétion sur Eclipse]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Eclipse propose l&#8217;autocompletion sur les méthodes des objets importés statiquement qu&#8217;après les avoir déclarés manuellement. Par exemple, pour utiliser les asserts JUnit dans un test TestNg, il faut ajouter l&#8217;import statique suivant avant de pouvoir bénéficier de l&#8217;aide à la saisie :</p>
<pre class="brush: java; title: ; notranslate">
import static org.testng.AssertJUnit.*;
</pre>
<p style="text-align: justify;">Pour profiter de l&#8217;autocompletion sans ajouter cette ligne au préalable, il faut se diriger dans le menu : <em>Window -&gt; Preferences</em> puis <em>Java -&gt; Editor -&gt; Content Assist -&gt; Favorites</em> et ajouter le nouveau type <em>org.testng.AssertJUnit</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2010/12/13/eclipse-autocompletion-sur-les-imports-statiques/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Helios : lenteur au démarrage</title>
		<link>http://everythingiswrong.free.fr/index.php/2010/12/10/eclipse-helios-lenteur-au-demarrage/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2010/12/10/eclipse-helios-lenteur-au-demarrage/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 11:01:07 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://yan.langlois.free.fr/wordpress/?p=646</guid>
		<description><![CDATA[Problèmes de lenteur au démarrage d'Eclipse ?]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Depuis que j&#8217;ai modifié ma version d&#8217;éclipse, je remarque que le démarrage est très lent et que certains processus ont l&#8217;air de rester bloqués. Par exemple : <em>Initialize Java Tooling</em> et <em>Loading Web Service Dom</em>.</p>
<p style="text-align: justify;">Mes recherches m&#8217;ont permis de découvrir qu&#8217;il était possible de paramétrer le démarrage des processus Eclipse a l&#8217;ouverture d&#8217;un workspace dans le fenêtre <em>Window -&gt; Preferences</em> puis <em>General -&gt; Startup and Shutdown</em>.</p>
<p style="text-align: justify;">Mes la solution réelle à mes problèmes de lenteur a été de supprimer un répertoire de mon workspace :<em> WORKSPACE_HOME/.metadata/.plugins/org.eclipse.core.resources/.projects</em>. Eclipse ne freeze plus au démarrage par contre il faut reconfigurer tous les projets du workspace. Par exemple, j&#8217;ai du  réactiver maven sur mes projets et les reconnecter à subversion. Pour les projets maven multimodule il m&#8217;a fallu supprimer les sous-modules puis les réimporter à partir du projet père.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2010/12/10/eclipse-helios-lenteur-au-demarrage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse IDE : Materialize Maven Projects</title>
		<link>http://everythingiswrong.free.fr/index.php/2010/10/06/eclipse-ide-materialize-maven-projects/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2010/10/06/eclipse-ide-materialize-maven-projects/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 19:43:17 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://yan.langlois.free.fr/wordpress/?p=401</guid>
		<description><![CDATA[Utiliser un projet multi-module Maven 2 dans Eclipse/]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">J&#8217;utilise le plugin Eclipse m2eclipse pour développer mes applications avec Maven. Lors que l&#8217;on travaille sur des projets complexes avec plusieurs sous modules, il faut absolument dissocier les modules en projets Eclipse dissociés pour que les classpaths soient bien respectés. C&#8217;est pour cela que je me suis souvent demandé comment transformer un projet <a href="http://maven.apache.org/" target="_blank">Maven</a> multi-modules en plusieurs petits projets Maven dans Eclipse. Jusqu&#8217;à maintenant, je me suis débrouillé en utilisant la fonctionnalité &#8220;Check out as Maven projet&#8230;&#8221; (extention SVN du plugin <a href="http://m2eclipse.sonatype.org/" target="_blank">m2eclipse</a>), mais cela implique qu&#8217;il faille utiliser un projet enregistré sur un serveur de gestion de configuration. Voici comment faire dans le cas sans gestion de configuration :</p>
<h1>Créer son projet multi-module</h1>
<p style="text-align: justify;">Avec le wizard de création de projet : <em>File -&gt; New -&gt; Project&#8230;</em>, créer un nouveau projet Maven puis cocher la case &#8220;Create simple project (skip archetype selection)&#8221; puis remplir le formulaire suivant :</p>
<p style="text-align: center;"><img class="aligncenter" style="border: 1px solid black;" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/Capture-New-Maven-Project-.png" alt="création basic d'un projet maven de type pom" width="600" height="502" /></p>
<p style="text-align: justify;">Le fichier <em>pom.xml</em> doit être généré de la sorte :</p>
<pre class="brush: xml; title: ; notranslate">
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;
  xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;

  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
  &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
  &lt;artifactId&gt;app-root&lt;/artifactId&gt;
  &lt;packaging&gt;pom&lt;/packaging&gt;
&lt;/project&gt;
</pre>
<p style="text-align: justify;">Pour construire un ou plusieurs sous module, il faut ouvrir le pom.xml avec l&#8217;éditeur pour de fichier POM et cliquer sur l&#8217;icone &#8220;New module project&#8221;. Cette fonctionnalité existe aussi à partir du menu contextuel de la vue &#8220;Project explorer&#8221;. Voici ce que nous avons pour l&#8217;instant :</p>
<p style="text-align: center;"><img style="border: 1px solid black;" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/Capture-Java-EE-Eclipse-.png" alt="" /></p>
<h1>Matérialiser ses projets Maven</h1>
<p style="text-align: justify;">Pour cela il faut importer le sous module comme un nouveau projet : <em>File -&gt; Import..</em>. Sélectionner ensuite &#8220;Materialize Maven Project&#8221;, enfin sélectionner le projet que nous avons créer ci dessus dans la boite de dialogue suivante. Voici le résultat dans eclipse :</p>
<p style="text-align: center;"><img style="margin-left: 1px; margin-right: 1px;" src="http://yan.langlois.free.fr/wordpress/wp-content/uploads/Capture-Java-EE-Eclipse-1.png" alt="" /></p>
<p style="text-align: justify;">Après cette opération vous avez bien tous les sous modules sous la forme de projet Eclipse dissociés.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2010/10/06/eclipse-ide-materialize-maven-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
