Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2021-04-16T00:39:11+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Recherche dans un tableau d'objet POO, message #2332802021-04-16T00:39:11+02:00jo_link_noir/@jo_link_noirhttps://zestedesavoir.com/forums/sujet/15236/recherche-dans-un-tableau-dobjet-poo/?page=1#p233280<p>On peut très bien utiliser <code>for</code> avec « une meilleure condition de sortie ». L’avantage du for est de regrouper initialisation, condition et itération en un seul est même endroit.</p>
<div class="hljs-code-div hljs-code-java"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span><span data-count="7"></span><span data-count="8"></span><span data-count="9"></span></div><pre><code class="hljs language-java"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> <span class="hljs-title">verifAdherent</span><span class="hljs-params">(string nomAdherent)</span></span>{
<span class="hljs-keyword">int</span> findAt = -<span class="hljs-number">1</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> idx = <span class="hljs-number">0</span>; idx < <span class="hljs-keyword">this</span>.tabAdherent.length && findAt == -<span class="hljs-number">1</span>; idx++){
<span class="hljs-keyword">if</span>(nomAdherent.equals(<span class="hljs-keyword">this</span>.tabAdherent[idx].getNom())){
findAt = idx;
}
}
<span class="hljs-keyword">return</span> findAt;
}
</code></pre></div>
<p>Mais pour ce genre de fonction, utiliser <code>break</code> ou <code>return</code> évite justement de faire des conditions inutiles tout en simplifiant le flux du code.</p>
<div class="hljs-code-div hljs-code-java"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span><span data-count="7"></span><span data-count="8"></span></div><pre><code class="hljs language-java"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> <span class="hljs-title">verifAdherent</span><span class="hljs-params">(string nomAdherent)</span></span>{
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> idx = <span class="hljs-number">0</span>; idx < <span class="hljs-keyword">this</span>.tabAdherent.length; idx++){
<span class="hljs-keyword">if</span>(nomAdherent.equals(<span class="hljs-keyword">this</span>.tabAdherent[idx].getNom())){
<span class="hljs-keyword">return</span> idx;
}
}
<span class="hljs-keyword">return</span> -<span class="hljs-number">1</span>;
}
</code></pre></div>
<p>La charge cognitive est beaucoup moins grande qu’une variable qui change d’état pour indiquer une fin de boucle.</p>
<p>Ce qui nuit à la lisibilité dans boucle contenant des <code>break</code> ou des <code>continue</code> est quand ceux-ci se situent au milieu du code. <code>continue</code> est par exemple un pattern fréquent pour filtrer certaines valeurs au début des boucles. Lorsque la boucle ne contient que quelques lignes, il n’y a généralement pas de problème pour suivre le flux de code.</p>Recherche dans un tableau d'objet POO, message #2332652021-04-15T15:21:55+02:00thibsc/@thibschttps://zestedesavoir.com/forums/sujet/15236/recherche-dans-un-tableau-dobjet-poo/?page=1#p233265<p>Si tu as commencé ta formation depuis 2 mois, je me permet de te donner un conseil par rapport à ton code (même si j’imagine que c’est le formateur qui vous a montré ce mot clé).</p>
<p>Évite d’utiliser les <code>break</code> sauf dans un <code>switch</code>, ou les <code>continue</code> parce que ça casse la structure du code (voir <a href="https://fr.wikipedia.org/wiki/Programmation_spaghetti">code spaghetti</a> qui est une bad practice).</p>
<p>Des développeurs te diront que c’est pratique… c’est un débat. Un <code>for</code> c’est quand tu sais le nombre de fois où tu vas parcourir ton tableau, un <code>break</code> casse ta condition, dans ce cas, plutôt utiliser un <code>while</code> avec une meilleur condition de sortie.</p>
<p>Ex.</p>
<div class="hljs-code-div hljs-code-java"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span><span data-count="7"></span><span data-count="8"></span><span data-count="9"></span><span data-count="10"></span><span data-count="11"></span></div><pre><code class="hljs language-java"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> <span class="hljs-title">verifAdherent</span><span class="hljs-params">(string nomAdherent)</span></span>{
<span class="hljs-keyword">int</span> idx = <span class="hljs-number">0</span>;
<span class="hljs-keyword">int</span> findAt = -<span class="hljs-number">1</span>;
<span class="hljs-keyword">while</span> (idx < <span class="hljs-keyword">this</span>.tabAdherent.length && findAt == -<span class="hljs-number">1</span>){
<span class="hljs-keyword">if</span>(nomAdherent.equals(<span class="hljs-keyword">this</span>.tabAdherent[idx].getNom())){
findAt = idx;
}
idx++;
}
<span class="hljs-keyword">return</span> findAt;
}
</code></pre></div>
<p>Tu gagneras en lisibilité et avec une structure de code plus cohérente</p>Recherche dans un tableau d'objet POO, message #2332272021-04-13T22:35:27+02:00dalfab/@dalfabhttps://zestedesavoir.com/forums/sujet/15236/recherche-dans-un-tableau-dobjet-poo/?page=1#p233227<p>Bonjour,</p>
<p>Attention, ligne 5 tu parcours tous les éléments sauf le dernier. Tu n’atteindras jamais celui à l’indice tabAdherent.length-1.</p>Recherche dans un tableau d'objet POO, message #2332212021-04-13T17:08:14+02:00Migwel/@Migwelhttps://zestedesavoir.com/forums/sujet/15236/recherche-dans-un-tableau-dobjet-poo/?page=1#p233221<p>Qu’est-ce qui ne fonctionne pas exactement avec ta solution ?</p>
<p>Une note: lorsque tu compares des chaines de caractères, tu devrais plutôt utiliser <code>str1.equals(str2)</code>. Si tu utilises <code>==</code>, ça vérifie que les références sont les mêmes tandis que <code>equals</code> vérifie uniquement le contenu.</p>Recherche dans un tableau d'objet POO, message #2332182021-04-13T16:35:35+02:00abderahim.dks/@abderahim.dkshttps://zestedesavoir.com/forums/sujet/15236/recherche-dans-un-tableau-dobjet-poo/?page=1#p233218<p>ça fait deux mois que j’ai commencé ma formation en informatique, c juste cette question qui m’a bloqué. qui sait peut être après une année c’est moi qui va répondre au question et aider les gens dans ce forum.
Merci
voila ma réponse mais je sais que c pas la bonne réponse c juste un essai</p>
<div class="hljs-code-div hljs-code-java"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span><span data-count="7"></span><span data-count="8"></span><span data-count="9"></span><span data-count="10"></span><span data-count="11"></span><span data-count="12"></span><span data-count="13"></span><span data-count="14"></span><span data-count="15"></span><span data-count="16"></span><span data-count="17"></span><span data-count="18"></span><span data-count="19"></span><span data-count="20"></span><span data-count="21"></span></div><pre><code class="hljs language-java"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> <span class="hljs-title">verifAdherent</span><span class="hljs-params">(String nomAdherent)</span>
</span>{
<span class="hljs-keyword">int</span> i=<span class="hljs-number">0</span>;
<span class="hljs-keyword">for</span> (i=<span class="hljs-number">0</span>; i<<span class="hljs-keyword">this</span>.tabAdherent.length -<span class="hljs-number">1</span>;i++)
{
<span class="hljs-keyword">if</span>(nomAdherent == tabAdherent[i].getNom())
{
<span class="hljs-keyword">break</span>;
}
}
<span class="hljs-keyword">if</span>(i == <span class="hljs-keyword">this</span>.tabAdherent.length)
{
<span class="hljs-keyword">return</span> -<span class="hljs-number">1</span>;
}
<span class="hljs-keyword">else</span>
{
<span class="hljs-keyword">return</span> i;
}
}
</code></pre></div>
<p><em>Amaury : mise en couleur du code, n’hésite pas à modifier ton message pour voir comment on fait.</em></p>Recherche dans un tableau d'objet POO, message #2332172021-04-13T16:31:16+02:00thibsc/@thibschttps://zestedesavoir.com/forums/sujet/15236/recherche-dans-un-tableau-dobjet-poo/?page=1#p233217<p>Salut, comme l’a dit <a href="/membres/voir/Amaury/" rel="nofollow" class="ping ping-link">@<span class="ping-username">Amaury</span></a>, te donner la solution ne serait pas très utile.</p>
<p>Qu’as tu essayé ? Voici une page de la javadoc qui te permet de faire ce que tu demande, à toi d’en extraire les informations qui vont te servir: <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html">ArrayList</a></p>Recherche dans un tableau d'objet POO, message #2332112021-04-13T11:28:15+02:00Amaury/@Amauryhttps://zestedesavoir.com/forums/sujet/15236/recherche-dans-un-tableau-dobjet-poo/?page=1#p233211<p>Salut ! Qu’as-tu essayé pour le moment ? Où bloques-tu ?</p>
<p>Ce que tu demandes n’est pas trop compliqué à réaliser, mais ça ne sert à rien de donner la solution toute faite <img src="/static/smileys/svg/hihi.svg" alt="^^" class="smiley"> .</p>Recherche dans un tableau d'objet POO, message #2332072021-04-13T01:43:52+02:00abderahim.dks/@abderahim.dkshttps://zestedesavoir.com/forums/sujet/15236/recherche-dans-un-tableau-dobjet-poo/?page=1#p233207<p>Bonjour, j’ai besoin de votre aide svp pour résoudre ce problème.</p>
<p>un programme java qui permet la gestion des associations et de leurs adhérents
<del><strong><em>une classe Adherent </em></strong></del>
Son nom (nom) de type chaîne de caractères,
Son prénom (prenom) de type chaîne de caractères,
Son année d’adhésion (anneeAd) de type entier et
Son code (code) de type entier. </p>
<p><strong><del>une classe Association</del></strong>
Son nom (nom) de type chaîne de caractères,
L’année de sa création (dateCreation) de type entier,
Le nombre de ses adhérents (nbAdherents) de type entier et
L’ensemble de ses adhérents (adherents) de type tableau d’adhérents. </p>
<p>Je dois répondre à la consigne suivante
Une méthode <strong>verifAdherent</strong>, qui vérifie la présence d’un adhérent dans la liste des membres de l’associations. (La recherche doit se faire dans un tableau d’objet )
Merci de bien vouloir m’aider</p>librairies org/slf4j/LoggerFactory, message #1911132018-10-14T17:24:04+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/11440/librairies-orgslf4jloggerfactory/?page=1#p191113<p>Il y a 2 scénarios possibles :<br>
1. Ton problème peut se résoudre sans informations et une recherche Google te donnera la solution, éventuellement en anglais sur StackOverflow.<br>
2. Ton problème nécessite certaines informations que tu ne nous donnes pas (tu n’en donnes aucune) et on ne te seras d’aucune aide. </p>librairies org/slf4j/LoggerFactory, message #1911032018-10-14T15:53:15+02:00naomi/@naomihttps://zestedesavoir.com/forums/sujet/11440/librairies-orgslf4jloggerfactory/?page=1#p191103<p>Bonjour,
quand je lance mon programme je recois l’erreur suivante </p>
<blockquote>
<p>Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory</p>
</blockquote>
<p>j’ai ajouté la librairie slf4j-1.7.25 mais sa ne fonctionne toujours pas </p>
<p>merci d’avance pour votre aide je ne sais plus quoi tenter </p>Placement et utilisation propre de resources Eclipse Java, message #1365532016-12-26T16:54:30+01:00Nemo/@Nemohttps://zestedesavoir.com/forums/sujet/7633/placement-et-utilisation-propre-de-resources-eclipse-java/?page=1#p136553<p>Bonjour à tous,</p>
<p>Merci Javier pour la recommandation à propos de Maven, je vais me pencher sur la question. Concernant l’accès par le classpath, je croyais que mon code le faisait déjà étant mon usage de la fonction getResource() pour définir le nom et chemin de fichier…</p>
<p>Finalement, j’ai trouvé une solution qui pour le moment fonctionne, je ne sais pas si c’est une bonne solution, j’ai posé la question sur le forum de h2database.</p>
<p>Lorsque je construis ma String DB_URL pour la connection du JDBC, dans la String du path du fichier de BDD qui m’est retourné par getResource(), je fais un replaceAll("file:", "zip:") et j’arrive maintenant à faire fonctionner mon logiciel avec la BD incluse à partir d’un fichier JAR éxécutable…</p>
<p>Ce qui me donne une String de connection DB_URL générée lors de l’éxécution semblable à ceci:</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="n">DB_URL</span> <span class="o">=</span> <span class="s">"jdbc:h2:zip:/C:/Users/Nemo/Google Drive/Partage/Mes Logiciels/Nutrion/Nutrion v0.3.jar!/ca/nutritix/nutrion/resources/FCEN2015"</span>
</pre></div>
</td></tr></table></div>Placement et utilisation propre de resources Eclipse Java, message #1364702016-12-25T12:10:04+01:00Javier/@Javierhttps://zestedesavoir.com/forums/sujet/7633/placement-et-utilisation-propre-de-resources-eclipse-java/?page=1#p136470<p>Hello. J’ai pas trop le temps de détailler (repas de Noël oblige) mais :</p>
<ul>
<li>essaie de suivre la convention dite "Maven" pour organiser tes fichiers </li>
<li>tu pourras construire ton URL ficher par rapport au classpath de l’application plutôt que ton système de fichiers local</li>
</ul>
<p><code>src/main/java</code>, <code>src/main/resources</code> pour la convention "Maven", je te laisse fouiller et pour le point 2 : cherche "Read file from classpath Java" sur Google ça devrait t’aider !</p>Placement et utilisation propre de resources Eclipse Java, message #1363892016-12-24T15:15:34+01:00Nemo/@Nemohttps://zestedesavoir.com/forums/sujet/7633/placement-et-utilisation-propre-de-resources-eclipse-java/?page=1#p136389<p>Je viens d’ajouter l’affiche des trace des Exceptions générées par mon code faisant usage du JDBC sous forme d’alerte dialog donc, disponible également lorsque qu’éxécuté en dehors d’Eclipse et mon code génére l’exception suivante lors de la tentative de connection au fichier de BDD:</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="n">org</span><span class="o">.</span><span class="na">h2</span><span class="o">.</span><span class="na">jdbc</span><span class="o">.</span><span class="na">JdbcSQLException</span><span class="o">:</span> <span class="n">IO</span> <span class="n">Exception</span><span class="o">:</span> <span class="s">"java.io.IOException: La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte"</span><span class="o">;</span> <span class="s">"jar:file:/C:/Users/Nemo/Google Drive/Partage/Mes Logiciels/Nutrion/Nutrion v0.3.jar!/ca/nutritix/nutrion/resources/FCEN2015.mv.db"</span> <span class="o">[</span><span class="mi">90031</span><span class="o">-</span><span class="mi">176</span><span class="o">]</span>
</pre></div>
</td></tr></table></div>
<p>Notez le .mv dans le nom de fichier FCEN2015.mv.db qui en réalité se nomme plutôt FCEN2015.h2.db, je ne sais pas comment analyser cette particularité…</p>Placement et utilisation propre de resources Eclipse Java, message #1363872016-12-24T14:47:23+01:00Nemo/@Nemohttps://zestedesavoir.com/forums/sujet/7633/placement-et-utilisation-propre-de-resources-eclipse-java/?page=1#p136387<p>J’ai modifié l’option lors de l’export de mon projet en Jar éxécutable de "Package required libraries into generated JAR" à "Extract required libraries into generated JAR" et ça me permet de générer l’url de ma resource avec getResource() qui me retourne une string donnant ceci: "jar:file:/C:/Users/Nemo/Google Drive/Partage/Mes Logiciels/Nutrion/Nutrion v0.3.jar!/ca/nutritix/nutrion/resources/FCEN2015.h2.db". (Ceci lorsqu’éxécuter du Jar exe).</p>
<p>Avec ceci, je génére une nouveau DB_URL qui fonctionne bien lorsqu’éxécuter d’Eclipse mais qui ne charge toujours pas la BD lorsqu’éxécute du Jar…</p>
<p>En espérant que ça vous aide a m’aider…</p>Placement et utilisation propre de resources Eclipse Java, message #1363712016-12-24T11:39:05+01:00Nemo/@Nemohttps://zestedesavoir.com/forums/sujet/7633/placement-et-utilisation-propre-de-resources-eclipse-java/?page=1#p136371<p>Bonjour,
Je travaille toujours sur mon même projet qui utilise une base de donnée H2. J’ai placé le fichier de cette dernière dans un dossier nommé resources de mon projet dans Eclipse et ajusté mon code pour l’utiliser via getResources(). Ça fonctionne bien lorsque j’éxécute mon projet via Eclipse, mais lorsque j’exporte celui-ci en fichier jar exécutable contenant également les resources, il semble que l’éxécutable du jar ne parvienne pas a trouver le fichier de BDD…</p>
<p>J’aimerais avoir votre avis sur la manière la plus propre et efficace pour intégrer des resources a un projet Eclipse de manière à ce que ce dernier puisse être exporté directement en jar éxécutable…</p>
<p>Et si le code doit être différent suivant qu’il est éxécuté à partir d’Eclipse ou à partir du Jar éxécutable, j’aimerais avoir un moyen d’adapter le code pour ne rien avoir à changer préalablement d’un contexte d’éxécution à l’autre…</p>
<p>Voici à quoi ressemble l’arborescence de mon projet:<img alt="Image utilisateur" src="http://img11.hostingpics.net/pics/740680projet.png"></p>
<p>Et voici un aperçu du contenu de mon jar exporté, (dans le dossier resources se trouvent bien les fichier de ma BDD:
<img alt="Image utilisateur" src="http://img11.hostingpics.net/pics/913308jarinterieur.png"></p>
<p>Et voici un extrait de mon code qui réfère à l’utilisation de ce fichier BDD en resources:</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">DB_URL</span> <span class="o">=</span> <span class="s">"jdbc:h2:"</span>
<span class="o">+</span> <span class="n">MainApp</span><span class="o">.</span><span class="na">class</span><span class="o">.</span><span class="na">getResource</span><span class="o">(</span><span class="s">"resources/FCEN2015.h2.db"</span><span class="o">).</span><span class="na">getPath</span><span class="o">().</span><span class="na">replaceAll</span><span class="o">(</span><span class="s">".h2.db"</span><span class="o">,</span> <span class="s">""</span><span class="o">).</span><span class="na">replaceAll</span><span class="o">(</span><span class="s">"%20"</span><span class="o">,</span> <span class="s">" "</span><span class="o">);</span>
</pre></div>
</td></tr></table></div>
<p>Note: Je dois supprimer le .h2.db du path que je passe au driver de jdbc car il ne doit pas avoir l’extension du fichier pour fonctionner. Et je fais remplacer le %20 que met le getPath() à la place de l’espace qui se retrouve dans le "Google Drive" qui se retrouve dans le path, sinon ça plante…</p>Problème de build avec Eclipse Neon.1, message #1287292016-10-29T21:12:33+02:00Nemo/@Nemohttps://zestedesavoir.com/forums/sujet/7224/probleme-de-build-avec-eclipse-neon1/?page=1#p128729<p>Bon, je viens de faire le test avec le dossier de mon projet copié sur le disque local, dans mon dossier personnel, et ça me donne la même erreur.</p>
<p>Je vous ai fait une archive téléchargeable pour que vous puissiez tester. Je n'ai pas trouvé de possibilité pour la télécharger sur le site, alors je vous l'ai partagée via mon GDrive.
Voici le lien: <a href="https://drive.google.com/open?id=0B1aXxbE8EEBtZlRWZTN4aHdzTU0">AddressApp.zip</a>
(Il faut utiliser le bouton de téléchargement en haut à droite. Celui avec la flèche qui pointe vers le bas…).</p>
<p>Puisque tu dis Hugo qu'Ant c'est dépassé et que je devrais plutot me tourner vers Gradle ou a tout le moins Maven. Ne vous fendez pas trop le c* pour faire fonctionner mon truc. C'est simplement que ça fesait partie de mon tutoriel et que je trouvais intéressant de m'initier au bundle d'application Java pour Windows…</p>
<p>Néanmoins, merci de vos lumières!</p>Problème de build avec Eclipse Neon.1, message #1287252016-10-29T19:48:38+02:00Hugo/@Hugohttps://zestedesavoir.com/forums/sujet/7224/probleme-de-build-avec-eclipse-neon1/?page=1#p128725<p>Ça me ferait penser à une histoire de droit, comme ça. Je vois que ton projet est dans le dossier <code>Google Drive</code> peut-être que ce dossier a des droits spécifiques qui empêchent le programme iconswap.exe de fonctionner. Essaye de mettre ton projet à un autre endroit, peut-être que ça fonctionnera mieux (copie le comme ça au pire tu aura toujours la bonne copie).</p>
<p>Sinon ce que tu peux faire c'est supprimer les lignes qui concerne la gestion de l'icone de l'application pour l'instant et voir, si ça résout pas le souci. </p>
<p>Sinon créé une archive et met le à télécharger qu'on puisse tester.</p>Problème de build avec Eclipse Neon.1, message #1287182016-10-29T18:12:40+02:00Nemo/@Nemohttps://zestedesavoir.com/forums/sujet/7224/probleme-de-build-avec-eclipse-neon1/?page=1#p128718<p>Rebonjour Hugo,
Pour répondre à ton edit, je confirme que j'ai réaliser l'étape 2 à la lettre et que mes informations entrées dans le FX Build sont identique au screenshot que tu viens d'envoyer…</p>Problème de build avec Eclipse Neon.1, message #1287112016-10-29T17:39:36+02:00Nemo/@Nemohttps://zestedesavoir.com/forums/sujet/7224/probleme-de-build-avec-eclipse-neon1/?page=1#p128711<p>Salut Hugo,
Merci pour tes explications, ça rejoint la solution que j'avais trouvé pour le premier bug.
Merci pour les mots clef de Gradle et Maven, je ne connaissais pas, je vais aller étudier ça!</p>
<p>Salutations,
Oli</p>Problème de build avec Eclipse Neon.1, message #1287102016-10-29T17:33:53+02:00Hugo/@Hugohttps://zestedesavoir.com/forums/sujet/7224/probleme-de-build-avec-eclipse-neon1/?page=1#p128710<p>Sur mon installation locale, le fichier <code>jfxrt.jar</code> est situé dans le dossier <code>${java.home}\lib\ext\jfxrt.jar</code> et non dans le dossier <code>${java.home}\lib\jfxrt.jar</code>.</p>
<p>Je serais toi, je tenterais de modifier la ligne de ton fichier build.xml de <code><file name="${java.home}\lib\jfxrt.jar"/></code> à <code><file name="${java.home}\lib\ext\jfxrt.jar"/></code>.</p>
<p>D'une manière générale, les professionnels ont tendance à utiliser un autre outil de build, <code>Gradle</code> qui est plus récent et devint un standard dans l'industrie.
<code>Maven</code> est l'outil de build le plus utilisé aujourd'hui car il était avant considéré comme l'outil de build de référence. Il perd en importance ces dernières années.</p>
<p>Ant est l'outil utilisé avant Maven et pour être honnête avec toi, plus grand monde l'utilise.</p>
<p>Edit: alors IOException, c'est qu'il arrive pas accéder à un fichier. Peut tu vérifier que tu as bien tout fait dans <a href="http://code.makery.ch/library/javafx-8-tutorial/fr/part7/">l'étape 2 du tutoriel (Ajouter des icônes pour le fichier d'install) ?</a>.</p>
<p>Peux-tu vérifier le nom et l'emplacement du fichier AddressApp.ico et as-tu bien le bon nom soit "AddressApp" dans cette interface:</p>
<p><figure><img alt="" src="http://code.makery.ch/assets/library/javafx-8-tutorial/part7/fxbuild-settings.png"><figcaption>Image utilisateur</figcaption></figure></p>Problème de build avec Eclipse Neon.1, message #1287082016-10-29T17:21:15+02:00Nemo/@Nemohttps://zestedesavoir.com/forums/sujet/7224/probleme-de-build-avec-eclipse-neon1/?page=1#p128708<p>Oui, tu as raison pour le jfxrt.jar, j'ai modifier dans le build.xml pour mettre le nom de chemin complet, et ce premier bug à été résolu.</p>
<p>Maintenant, j'ai un autre bug qui se produit un peu plus loin et qui je pense a un rapport avec Inno Setup, mais je n'arrive pas a trouver de solutions sur google.</p>
<p>Voici le message d'erreur:</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4</pre></div></td><td class="code"><div class="codehilite"><pre><span></span>Exception: java.io.IOException: Exec failed with code -1073741790 <span class="nb">command</span> <span class="o">[[</span><span class="c1">###\AppData\Local\Temp\iconswap3966161699681865453.exe, ###\AppData\Local\Temp\fxbundler7783791512359039697\windows\AddressApp.ico, ###\AppData\Local\Temp\fxbundler7783791512359039697\images\win-exe.image\AddressApp\AddressApp.exe] in unspecified directory</span>
BUILD FAILED
<span class="c1">###\Google Drive\Java\Neon\AddressApp\build\build.xml:125: Error: Bundler "EXE Installer" (exe) failed to produce a bundle.</span>
</pre></div>
</td></tr></table>
<p>Et à la ligne 125 en question on retrouve le code suivant dans le fichier build.xml(la ligne 125 selon mon editeur d'eclipse c'est l'attribut "updatemode", mais je soupconne que ce soit en réalité à l'attribut "outfile" qu'il plante:</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="nt"><fx:deploy</span>
<span class="na">embedJNLP=</span><span class="s">"false"</span>
<span class="na">extension=</span><span class="s">"false"</span>
<span class="na">includeDT=</span><span class="s">"false"</span>
<span class="na">offlineAllowed=</span><span class="s">"true"</span>
<span class="na">outdir=</span><span class="s">"${basedir}/deploy"</span>
<span class="na">outfile=</span><span class="s">"AddressApp"</span> <span class="na">nativeBundles=</span><span class="s">"exe"</span>
<span class="na">updatemode=</span><span class="s">"background"</span> <span class="nt">></span>
<span class="nt"><fx:platform</span> <span class="na">basedir=</span><span class="s">"${java.home}"</span><span class="nt">/></span>
<span class="nt"><fx:info</span> <span class="na">title=</span><span class="s">"AddressApp"</span> <span class="na">vendor=</span><span class="s">"makery.ch"</span><span class="nt">/></span>
<span class="nt"><fx:application</span> <span class="na">refId=</span><span class="s">"fxApplication"</span><span class="nt">/></span>
<span class="nt"><fx:resources</span> <span class="na">refid=</span><span class="s">"appRes"</span><span class="nt">/></span>
<span class="nt"></fx:deploy></span>
</pre></div>
</td></tr></table>
<p>J'ai bien mis le chemin correct de Inno setup dans la variable d'environnement windows "path".</p>
<p>Je suis un peu démuni en ce moment comme piste de solution à explorer…</p>
<p>A+
Oli</p>