MaDKit forum

Welcome All !
Please, use explicit topic names when creating new threads. Thanks.

You are not logged in.

#1 2010-12-01 13:32:17

Giner Maurin
Member
Registered: 2010-11-07
Posts: 8

Compilation : création d'éxecutable

Bonjour.

Notre projet avance, mais nous ne savons toujours pas comment créer un fichier executable sous windows. (nous executons tout dans la console eclipse pour l'instant).

Pourriez vous nous indiquer la marche à suivre?

Merci d'avance.

Offline

#2 2010-12-02 16:11:08

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour,

En fait c'est assez simple : copiez le fichier build.xml d'une des démos et mettez le à la racine de votre projet.
Ensuite, modifiez la ligne <property name="madkit.install.dir" value="../madkitkernel"/> avec une value correspondant au répertoire où vous avez installé madkit.
Ensuite, mettez les bons arguments dans la ligne     <property name="madkit.args"  value="--launchAgents madkit.demos.bees.BeeLauncher --agentLogLevel OFF"/> pour avoir les bonnes options de lancement.

Ensuite sous Eclipse, cliquez sur le fichier build.xml de votre projet et, à droite de la fenêtre, faites bouton droit sur create-executable-jar puis sélectionnez "run as" "ant build"
En principe cela va créer un jar exécutable dans le répertoire de votre projet

Offline

#3 2010-12-09 13:57:38

Giner Maurin
Member
Registered: 2010-11-07
Posts: 8

Re: Compilation : création d'éxecutable

Nous n'y n'arrivons toujours pas.


Il y a une erreur dans le build dans eclipse : lorsque que j'essai de run as, il me dit qu'il arrive pas a trouver "madkitDefaultAntTargets.xml" .
J'ai pourtant bien indiqué où se trouve la lib madkiternel en property.

Voila à quoi ressemble notre build:

<project name="Rendez-vous" default="create-executable-jar" basedir=".">

    <property name="madkit.install.dir" value="C:\Users\shekill\Desktop\programmes_java\multiagent\MadKit-5.0-alpha4\lib\madkitkernel"/>
   
    <property name="src.dir" value="src"/>
    <property name="version"  value="0.9"/>
    <property name="author"  value="Maurin-Giner"/>
    <property name="description"  value="The Rendezvous demos"/>
    <property name="project.label"  value="The Rendezvous demos"/>
    <property name="madkit.args"  value="--launchAgents package1.Repartisseur,false,1 --agentLogLevel INFO"/>

    <import file="${madkit.install.dir}/madkitDefaultAntTargets.xml"/>


</project>


Merci d'avance.

Offline

#4 2010-12-17 18:06:50

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour,

le problème devrait être réglé.
Utilisez la dernière version disponible sur le madkit.org et prenez exemple sur le build.xml d'une des démos

Offline

#5 2010-12-18 19:27:25

Giner Maurin
Member
Registered: 2010-11-07
Posts: 8

Re: Compilation : création d'éxecutable

J'ai essayé avec la nouvelle version : effectivement le fichier antTarget est maintenant présent et il le trouve.

Cependant, lors du build une erreur que je n'arrive pas à comprendre s'effectue.

BUILD FAILED
C:\Users\shekill\Desktop\programmes_java\multiagent\MadKit-5.0-alpha4\lib\madkitAntTargets.xml:121: Execute failed: java.io.IOException: Cannot run program "jarsigner.exe": CreateProcess error=2, Le fichier sp?cifi? est introuvable

La création de l’exécutable ne s'effectue donc pas.

Merci de m'éclairer .


EDIT: Aujourd'hui ça me fait une autre erreur quand je tente de créer l’exécutable:
ça me fait pleins d'erreurs qui n'existe pas dans le code (genre des ; qui manque alors que non, d'ailleurs Eclipse n'en voit pas) et ça met :

[...] les 100 "erreurs" avant puis :
    [javac]                                                ^
    [javac] 100 errors
    [javac] 100 warnings

BUILD FAILED
C:\Users\shekill\Desktop\programmes_java\multiagent\MadKit-5.0-alpha4\lib\madkitAntTargets.xml:59: Compile failed; see the compiler error output for details.

Last edited by Giner Maurin (2010-12-20 14:59:25)

Offline

#6 2010-12-21 16:45:32

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour,

En fait le jdk (le java dev kit) n'est pas intallé sur votre machine. C'est les librairies présentes dans Eclipse qui vous permette de compiler. Ce n'est pas un problème en soi mais du coup il vous manque certains outils de la suite java et le fichier jar ne pourra être signé digitalement et donc exécuté depuis Internet grâce java web start.

en tout cas j'ai corrigé le problème dans la nouvelle version (Utilisez bien tous les fichiers de la 5.0.0.5) : la signature ne se fait pas mais le jar est tout de même créé. Merci de me dire si cela marche maintenant.

Offline

#7 2010-12-26 14:38:22

Giner Maurin
Member
Registered: 2010-11-07
Posts: 8

Re: Compilation : création d'éxecutable

Nous avons donc réessayé.

L’exécutable est effectivement créé malgré l'erreur du jarsigner . Cependant , lorsque on lance l’exécutable, il y a une erreur :  "Failed to load Main-class manifest attribute".

voici la ligne dans notre build :
    <property name="madkit.args"  value="--launchAgents package1.AgendaLauncher --agentLogLevel OFF"/>

Nous nous somme inspiré de celle des démos. Quoi qu'on mette sur cette ligne l'erreur est la même , nous avons conclu que le problème vient d'ici.
Le chemin de la classe est la bonne (AgendaLauncher est directement dans package1 qui est dans le src).

Offline

#8 2011-01-02 16:00:19

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour et bonne année,

En effet il devait encore y avoir un bug.
Quoi qu'il soit, j'ai fait encore des changements et la version actuelle est alpha 6 (attention prenez bien la dernière que je viens de mettre en ligne à l'instant).
Par ailleurs, le fichier build.xml a encore changé donc remplacez bien tous les fichiers qui doivent l'être.

Offline

#9 2011-01-17 14:30:28

Giner Maurin
Member
Registered: 2010-11-07
Posts: 8

Re: Compilation : création d'éxecutable

Aujourd'hui, nous avons enfin réussi a faire un exécutable de notre projet. Merci pour votre précieuse aide.

Nous aimerions également upload ce fichier afin qu'il puisse être téléchargé par tout ceux qui le désirent, et nous ferions figurer l'adresse où le télécharger sur notre rapport. Il nous a semblé qu'il y avait des plate-formes sur votre site pour déposer des démonstrations. Pourrions nous déposer notre version finale? (exécutable + code source).


Merci d'avance.

Last edited by Giner Maurin (2011-01-17 14:31:36)

Offline

#10 2011-01-18 17:15:07

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour,

Content que cela ait fini par marcher.

Pour le moment, bien que cela soit prévu, il n'y a pas de moyen d'uploader directement la démo sur le site de MadKit.
Par contre je me ferai un plaisir de le faire. Je pense qu'il sera même intéressant de faire une page dédiée à votre application : présentation, doc, sources, download. Vous pouvez cette page hors ligne et je m'occuperai de mettre la page sur le site.
Par ailleurs si vous installez le jdk sur votre machine  (ce qui réglera le problème de signature du jar) vous pourrez même créer un fichier jnlp (avec la même commande sous Eclipse) et faire fonctionner l'application sur le web, avec Java web start, comme pour les démos qui se trouvent sur la page d'accueil du site

Offline

#11 2013-04-24 10:01:30

HDarwich
Member
Registered: 2013-04-24
Posts: 6

Re: Compilation : création d'éxecutable

Bonjour,

Je suis entrain de créer le fichier éxecutable pour mon projet en suivant les instructions proposées ci-dessus.  Mais à la création j'ai l'erreur suivante: "Could not load definitions from resource MK_Targets.xml. It could not be found"

J'utilise madkit-5.0.1.

Merci d'avance de m'aider à trouver la solution pour que je puisse générer l'éxécutable.

Last edited by HDarwich (2013-04-24 14:37:53)

Offline

#12 2013-04-25 13:41:37

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour,

Pourriez-vous poster le build.xml que vous utilisez ?

Offline

#13 2013-04-26 08:35:36

HDarwich
Member
Registered: 2013-04-24
Posts: 6

Re: Compilation : création d'éxecutable

Bonjour,

Voilà le build, merci pour l'aide.

<?xml version="1.0"?>
<!-- =================================
This is ant build.xml file for building the excecutable
Author: Hind
     ================================= -->

<project name="ProcessMgm" default="create-executable-jar" basedir="." >

    <!-- =================================
        REQUIRED:
         Please, specify the directory where the MadKit jar file is in
         e.g.
         <property name="madkit.lib.dir" value="/userHome/madkit5"/>
          ================================= -->
    <property name="madkit.install.dir" value="C:/Users/HIND/Desktop/SMAJars/madkit-5.0.1"/>

    <!-- =================================
        REQUIRED:
         Please, specify the MadKit version which should be used.
         e.g. 5.0.0.7
         ================================= -->
    <property name="madkit.version" value="5.0.0.14"/>
   
    <!-- =================================
        OPTIONAL:
         Here, you may set your project properties
         ================================= -->
    <property name="src.dir" value="src"/>
    <property name="version" value="1.0.2"/>
    <property name="author"  value="Hind"/>
    <property name="description" value="The MadKit Process Management"/>
    <property name="project.label" value="The MadKit Process Management"/>
    <property name="project.website" value="www.madkit.org"/>

    <!-- =================================
        OPTIONAL:
         Here, you can specify which default options
         will be used for the runnable jar
         ================================= -->
    <property name="madkit.args"  value="--launchAgents processMgm.LauncherAgents,false,1"/>

    <!-- =================================
        OPTIONAL:
         A java web start file (.jnlp) is also generated if possible.
         Here, you can specify the web directory in which you will
         put the jar and the jnlp so that it will directly work without editing.
         ================================= -->
    <property name="web.codebase"  value="http://www.madkit.net/repository/jnlps"/>

    <!-- =================================
        OPTIONAL:
         Here, you may specify which resources should be
         included in the jar file of your project
         ================================= -->
    <fileset dir="." id="resource.files">
        <include name="${src.dir}/**"/>
        <include name="docs/**"/>
        <include name="build.xml"/>
    </fileset>



    <!-- =================================
        DO NOT EDIT WHAT FOLLOWS:
         Defines the main targets from madkit file
         ================================= -->

    <typedef onerror="failall" resource="MK_Targets.xml" classpath="${madkit.lib.dir}/madkitkernel-${madkit.version}.jar"/>
   
    <!-- =================================
          target: create-executable-jar             
         ================================= -->
    <target name="create-executable-jar"> <create-executable-jar/> </target>
   
    <!-- =================================
          target: create-lib-jar             
         ================================= -->
    <target name="create-lib-jar"> <create-lib-jar/> </target>
   
    <!-- =================================
          target: clean             
         ================================= -->
    <target name="clean" description="clean generated files"> <clean/> </target>

   
</project>

Offline

#14 2013-04-27 07:18:20

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour,

En fait vous utilisez un build.xml qui est obsolète (probablement issu de la 5.0.0.14 de ce que je vois). Il vous faut donc utiliser la nouvelle version qui se trouve dans le répertoire "docs" de la 5.0.1

Offline

#15 2013-04-27 20:04:28

HDarwich
Member
Registered: 2013-04-24
Posts: 6

Re: Compilation : création d'éxecutable

Bonjour,

J'ai remplacé par la nouvelle version du build. Cette fois-ci; il m'affiche dans le fichier
l'erreur "Default target build-executable-jar does not exist in this project" dans la ligne <project name="ProcessMgm" default="build-executable-jar">
et "Cannot find MDK_ANT.xml imported from (la location du fichier build)"

Merci encore,

Offline

#16 2013-04-28 09:21:35

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour,

Aille, le build ne trouve toujours pas le jar de MaDKit. Peut-être que cela vient du chemin absolu pour l'archive. Pour résoudre le problème, vérifiez sur une des démos que ant fonctionne. Par exemple le projet pingpong est péconfiguré et doit fonctionner avec son propre build, en ligne de commande ou sous Eclipse. Si tout va bien, vous pouvez essayer avec un chemin relatif, comme dans pingpong :     <property name="madkit.lib.dir" value="lib" />. Le chemin absolu a été testé et devrait fonctionner mais on ne sait jamais.

Offline

#17 2013-04-28 11:46:40

HDarwich
Member
Registered: 2013-04-24
Posts: 6

Re: Compilation : création d'éxecutable

Bonjour,

Au fait, c'est toujours les deux mêmes erreurs avec le chemin relatif.

Le premier build que j'avais essayé (copié ci-dessus), c'était celui de la démo "Rendez-vous" dans le répertoire "docs" de la 5.0.1 mais qui n'est pas apparement mis à jour, et c'était le seul build qui fonctionnait chez moi. Par contre, pour le projet ping pong, il m'affiche l'erreur "Target MDK.compile does not exist in this project" sur:
<import>
    <javaresource name="MDK_ANT.xml">
        <classpath location="${madkit.lib.dir}/madkit-${madkit.version}.jar" />
    </javaresource>
</import>

Je ne sais pas donc s'il y a quelque chose que j'ai oublié de faire.
Merci pour l'aide,

Last edited by HDarwich (2013-04-28 14:02:18)

Offline

#18 2013-04-28 23:53:17

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour,

Pour ping pong, on parle bien d'un essai sur MaDKit-ping-pong-2.0-src.zip décompressé comme un projet autonome ? C'est bizarre, il devrait fonctionner. Est-ce des essais sous Eclipse (version ?) ou en ligne de commande (sous XP ?) ? Il se peut qu'Eclipse rafraichisse mal les targets disponibles. On va bien finir par y arriver.

Offline

#19 2013-04-29 08:20:05

HDarwich
Member
Registered: 2013-04-24
Posts: 6

Re: Compilation : création d'éxecutable

Bonjour,

Oui c'est bien le MaDKit-ping-pong-2.0-src.zip décompressé comme un projet autonome sous Eclipse la version "Eclipse Juno 4.2 SR2 (IDE for Java EE Developpers)".

Offline

#20 2013-04-29 15:29:46

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 173
Website

Re: Compilation : création d'éxecutable

Bonjour,

Je viens de tester sous XP et je n'ai pas de problème (même avec une croix rouge sur le build dans Eclipse, du au rafraichissement. Si vos sources ne sont pas confidentielles et que vous pouvez me passer un zip du projet, je veux bien jeter un coup d'oeil au build de votre projet en situation.
Là je ne vois pas ce qui peut clocher.

Offline

#21 2013-05-01 13:02:07

HDarwich
Member
Registered: 2013-04-24
Posts: 6

Re: Compilation : création d'éxecutable

Bonjour,

Je vous remercie pour votre réactivité et vos explications précieuses et je reposte pour expliquer comment mon problème a été résolu.
Pour faire simple, l'erreur "Default target build-executable-jar does not exist in this project" venait du fait que je rajoutais le jar madkit-5.0.1 comme un external jar, et pour celà le build n'arrivait pas à le trouver.
Il fallait donc que je modifie dans le fichier build la valeur du chemin relatif par le chemin absolu : <property name="madkit.lib.dir" value="lib" />
et en plus, créer le dossier lib dans la racine de mon projet pour mettre dedans les jars que je voudrais utilisé. Par la suite, le build a pu trouver le jar du madkit et ne m'a plus affiché l'erreur.

Et comme j'utilisais des librairies tierces autres que celle du madkit, il fallait dé-commenter/ajouter dans le build.xml cette partie :

     <!-- =================================
         REQUIRED if using third party libraries
         
          You can specify which third party jars by uncommenting the
          following fileset and modifying it (id's value must not be changed).
          This is just an example and you can freely define your own fileset (with the same id).         
         More info on fileset definition at http://ant.apache.org/manual/Types/fileset.html

        <fileset id="third.party.libraries" dir="lib">
             <include name="a.library.jar" />
             <include name="another.library.jar" />
         </fileset>

          ================================= -->


Merci encore,

Hind Darwich

Last edited by HDarwich (2013-05-01 13:18:09)

Offline

#22 2013-05-29 01:41:47

hiba
Member
Registered: 2013-04-05
Posts: 15

Re: Compilation : création d'éxecutable

Salut,
Je suis encore débutante en Madkit et je veux savoir comment créer des attributs pour une classe quelconque

Offline

Board footer