Netbeans manifeste

Est-il possible d'ajouter des entrées pour le manifeste.fichier mf des bocaux générés par netbeans?

pour construire un paquet osgi par exemple.

19
demandé sur Maurice Perry 2009-08-06 09:15:35

7 réponses

notez que vous pouvez créer un manifeste à la volée via une tâche ant et définir les propriétés de manière dynamique.

tout d'abord, vous devez mettre à jour votre projet Netbeans".propriétés "fichier trouvé dans le répertoire" nbproject". Ajoutez la ligne suivante dans le fichier:

manifest.file=manifest.mf

Ensuite, créez une tâche ant pour créer/mettre à jour le manifeste "build.xml fichier. Dans cet exemple, nous allons définir le numéro de version et la date du fichier jar.

<target name="-pre-init">
   <property name="project.name" value="My Library" />
   <property name="version.num" value="1.4.1" />
   <tstamp>
      <format property="NOW" pattern="yyyy-MM-dd HH:mm:ss z" />
   </tstamp>

   <!--
   <exec outputproperty="svna.version" executable="svnversion">
       <arg value="-c" />
       <redirector>
           <outputfilterchain>
               <tokenfilter>
                   <replaceregex pattern="^[0-9]*:?" replace="" flags="g"/>
                   <replaceregex pattern="M" replace="" flags="g"/>
               </tokenfilter>
           </outputfilterchain>
       </redirector>
   </exec>
   -->


   <manifest file="MANIFEST.MF">
      <attribute name="Bundle-Name" value="${project.name}" />           
      <attribute name="Bundle-Version" value="${version.num}" />
      <attribute name="Bundle-Date" value="${NOW}" />
      <!--<attribute name="Bundle-Revision" value="${svna.version}" />-->
      <attribute name="Implementation-Title" value="${project.name}" />
      <attribute name="Implementation-Version" value="${version.num}" />
      <attribute name="Implementation-URL" value="http://www.example.com" />
   </manifest>

</target>

ceci créera un manifeste enregistrez dans votre répertoire netbeans project et insérez-le dans votre fichier jar. Si vous voulez supprimer le fichier de manifeste autogénéré de votre répertoire de projet netbeans, créez simplement une autre tâche ant (post jar bien sûr):

<target name="-post-jar">
  <delete file="MANIFEST.MF"/>
</target> 
17
répondu Peter 2011-12-04 12:53:52

information Interesting might be here:

http://wiki.netbeans.org/FaqNoMainClass

6
répondu java.is.for.desktop 2009-10-22 14:49:17

j'ai un projet de bibliothèque Java Class avec un fichier manifeste personnalisé - parfait pour un paquet OSGI. Pour obtenir ce travail de la première édition d'un projet.propriétés et définir:

manifest.file=manifest.mf
manifest.available=true

Créer votre propre manifeste.mf fichier dans le répertoire du projet.

(à ce point si vous essayez un clean / build vous n'obtiendrez toujours pas votre fichier de manifeste personnalisé - NetBeans fournira son propre. C'est parce que l'accumulation impl.xml target Ant "-ne-jar-avec-les bibliothèques-sans-manifeste" est appelé immédiatement après"-do-jar-with-manifest", écrasez votre fichier JAR de manifeste personnalisé avec un JAR de manifeste NetBeans par défaut.)

Ajouter une cible personnalisée de votre construction.fichier xml comme suit:

<target name="-do-jar-with-libraries-without-manifest">
    <!-- Inserted to prevent target from running so we can have a custom
         manifest file with a class library project type. -->
</target>

Testé dans NetBeans 6.7.1

2
répondu gazzamop 2010-09-26 06:38:27

dans le même dir que le construire.XML vous pouvez mettre votre manifeste.fichier mf

j'utilise Netbeans 6.7.1 Il s'avère que le build-imp.xml (le script de construction utilisé par Netbeans)

  • ne pas avoir une cible qui s'exécute si "avec manifeste, sans classe'
  • mais il en a une comme 'avec manifeste, avec les principaux de la classe'

.. assurez-vous que vous avez le projet,-les propriétés,l'exécution,la principale Classe rempli avec -rien-

je pense que c'est une fonctionnalité non documentée :(

ceci est mon contenu manifeste:

Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
Bundle-ManifestVersion: 2
Bundle-Name: jinstall
Bundle-SymbolicName: jinstall
Import-Package: ( .... )
Export-Package: ( .... )
Bundle-Activator: ( ..... )
1
répondu Houtman 2009-08-13 07:06:25

si vous utilisez maven (nbm-maven-plugin), regardez

NBM Maven plugin

1
répondu Lukino 2013-11-18 12:55:05

pourquoi ne pas utiliser le projet a maven, qui a bien fonctionné pour moi? E. g. apache felix

Voir cet exemple de balançoire connectable que j'ai créé dans netbeans.

0
répondu Karussell 2009-11-07 12:17:40

Voir cet article.

Ici, il est décrit comment

  • créer propre ant cibles
  • ajouter des entrées manuelles au manifeste.mf pour la sortie JAR
  • exécuter personnalisé ant des cibles à partir de Netbeans
-2
répondu ivan_ivanovich_ivanoff 2009-09-29 10:08:56