Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3001 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [NetBeans] Ecrire dans le MANIFEST.MF

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[NetBeans] Ecrire dans le MANIFEST.MF

n°1026117
Chronoklaz​m
Posté le 26-03-2005 à 14:02:50  profilanswer
 

Voila, j'ai un ptit souci pour la creation des .jar executables avec NetBeans. A chaque fois que je compile mon projet un .jar est crée ... normal. Mais le probleme c'est que je ne peux pas l'editer (preciser la Main-Class par exemple) car il est en lecture seule.
Et comme j'ai pas envie de me tapper l'extraction puis l'insertion d'un nouveau MANIFEST.MF ... comment faire pour indiquer la Main-Class dans ce fichier, faut le faire dans un script Ant ?


Message édité par Chronoklazm le 26-03-2005 à 14:41:29

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
mood
Publicité
Posté le 26-03-2005 à 14:02:50  profilanswer
 

n°1026151
Chronoklaz​m
Posté le 26-03-2005 à 16:05:29  profilanswer
 

Bon c'est clair que je ne puisse pas ecrire dedans car il est generé par le script build.xml.  
Que faut il rajouter dans ce foutu script pour qu'il rajoute une ligne "Main-Class: ". Je m'y connais pas en xml mais ca doit etre un truc du style :
 

Code :
  1. <target name="do-jar-with-manifest" depends="Test.jar">
  2.             <manifest xmlns="http://www.netbeans.org/ns/j2se-project/1">
  3.                 <attribute j2seproject:name="Main-Class" value="${main.class}"/>
  4.             </manifest>
  5.         </target>


 
Quelqu'un as t il une idée ?


Message édité par Chronoklazm le 26-03-2005 à 16:06:08

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°1030564
Ajakaty
Posté le 30-03-2005 à 23:37:44  profilanswer
 

Normalement avec netbeans, tu as pas trop à aller bidouiller les scripts ant... Il me semble que en cliquant droit sur ton projet -> propriétés tu peux définir la classe principale de ton projet et que l'ajout se fera automatiquement sur le manifest! :-)

n°1032875
Chronoklaz​m
Posté le 01-04-2005 à 22:46:52  profilanswer
 

Ajakaty a écrit :

Normalement avec netbeans, tu as pas trop à aller bidouiller les scripts ant... Il me semble que en cliquant droit sur ton projet -> propriétés tu peux définir la classe principale de ton projet et que l'ajout se fera automatiquement sur le manifest! :-)


 
Et bien non ce n'est pas le cas, je specifie la classe Main dans les proprietes de l'objet et aucun effet sur le MANIFEST.MF
 
Par contre pour ce qui est de l'edition du fichier build.xml voila ce qui est marqué dedans :
 

Code :
  1. <!-- You may freely edit this file. See commented blocks below for -->
  2. <!-- some examples of how to customize the build. -->
  3. <!-- (If you delete it and reopen the project it will be recreated.) -->



---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°1033002
Ajakaty
Posté le 02-04-2005 à 08:43:57  profilanswer
 

J'ai regardé un peu, mais les cibles existent déjà dans le script build-impl.xml, donc normalement, ça devrait ajouter directement le main-class dans le manifest. Il faut sûrement activer une option quelque part... Si je la trouve je te fais signe! Peut être peux-tu éditer le fihier manifest qui se trouve à côté de build.xml?

n°1033120
Chronoklaz​m
Posté le 02-04-2005 à 15:03:05  profilanswer
 

Ajakaty a écrit :

J'ai regardé un peu, mais les cibles existent déjà dans le script build-impl.xml, donc normalement, ça devrait ajouter directement le main-class dans le manifest. Il faut sûrement activer une option quelque part... Si je la trouve je te fais signe! Peut être peux-tu éditer le fihier manifest qui se trouve à côté de build.xml?


 
Ok c'est cool. Je peux pas l'editer directement ce fichier car il est dans packtage .jar par contre je viens de capter que l'execution d'un projet à partir même de NetBeans est effectué avec des parametres qui rendent le MANIFEST.MF limite inutile car à l'execution du .jar NetBeans specifie en parametre la main-class.


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°1033178
Ajakaty
Posté le 02-04-2005 à 17:30:03  profilanswer
 

Ca je savais pas! Par contre quand je parlais du manifest je parlais pas de celui du .jar mais de celui qui se trouve à la racine du projet.

n°1036606
Chronoklaz​m
Posté le 05-04-2005 à 23:43:56  profilanswer
 

Ajakaty => Mais justement moi je l'ai pas à la racine du projet.
 
Là je pense être pas loin !
 

Code :
  1. <target name="jar" description="Make Archive" depends="compile">
  2.     <jar destfile="dist/theJarFile.jar">
  3.         <fileset dir="build">
  4.             <include name="classes/**"/>
  5.         </fileset>
  6.         <metainf dir="nbproject">
  7.             <include name="*.xml"/>
  8.         </metainf>
  9.         <manifest>
  10.             <attribute name="Built-By" value="Me"/>
  11.             <attribute name="Main-Class:" value="Main"/>
  12.         </manifest>
  13.     </jar>
  14. </target>


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°1036779
floutch
Posté le 06-04-2005 à 09:21:24  profilanswer
 

Bonjour, perso j'utilise netbeans 3.5
etj utilise le recipies du programme pour faire mes .jar
il est relativement correct la seule soucis c'est lors de la generation du manifest il n'introduit pas la ligne qui signifie qui est le main
tu dois la rajouter
 
(je sais pas si ce que je dis peux aider, mais j'essaye)

n°1038121
Chronoklaz​m
Posté le 06-04-2005 à 21:25:28  profilanswer
 

Citation :

il est relativement correct la seule soucis c'est lors de la generation du manifest il n'introduit pas la ligne qui signifie qui est le main


 
C'est justement ca le probleme :)


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
mood
Publicité
Posté le 06-04-2005 à 21:25:28  profilanswer
 

n°1038305
Chronoklaz​m
Posté le 07-04-2005 à 00:44:36  profilanswer
 

OLé j'ai trouvé !!!!!
 

Code :
  1. <target name="jar" description="Make Archive" depends="compile">
  2.     <jar destfile="test.jar">
  3.         <fileset dir="build/classes">
  4.             <include name="*.class"/>
  5.             <include name="**/*.class"/>
  6.         </fileset>
  7.         <metainf dir="nbproject">
  8.             <include name="*.xml"/>
  9.         </metainf>
  10.         <manifest>
  11.             <attribute name="Built-By" value="Chronoklazm"/>
  12.             <attribute name="Main-Class" value="Main"/>
  13.         </manifest>
  14.     </jar>
  15. </target>


 
Dans ce cas precis la classe Main doit etre juste dans le repertoire build/classes et ne doit surtout pas etre dans un package.


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°1039357
Ajakaty
Posté le 07-04-2005 à 20:52:22  profilanswer
 

Alors pour que ça fonctionne avec les packages faut faire comme ça :
<attribute name="Built-By" value="Chronoklazm"/>
<attribute name="Main-Class" value="monpackage.MaClasseMain"/>
<attribute name="Class-Path" value="ton classpath si besoin est"/>
 
Avec ça ça devrait marcher sans soucis :-)
 
Par contre je crois que le <include name="*.class"/> est inutile car lorsque tu mets <include name="**/*.class"/> le ** signifie que tu vas chercher dans toute l'arborescence, y compris à la racine.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [NetBeans] Ecrire dans le MANIFEST.MF

 

Sujets relatifs
écrire depuis le navigateur, est-ce possible ?question bateau: ecrire un retour ligne dans fichier
Ecrire dans un tableau en javascriptAffichage du diagramme des classes sous NetBeans.
Ecrire dans un fichierecrire un float dans un wxTextCtrl (wxWidgets)
Ecrire le contenu d'une structure dans un fichierComment ecrire/lire bit à bit dans un fichier en langage c/c++ ?
Application SWT autonome - manifest, lib, classpath...?Ecrire un nombre dans un seul octet ?
Plus de sujets relatifs à : [NetBeans] Ecrire dans le MANIFEST.MF


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)