2009-10-21 12 views
3

J'ai essayé d'ajouter manifest.file=${src.dir}/manifest.mf à project.properties, mais en regardant à travers le build-impl.xml, je vois que le manifest.available est généralement accompagné de la condition main.class, donc il me fait croire que mon manifeste ne serait ajouté que si le paquet a un main classe, que le mien, étant une bibliothèque, n'a pas. Peu importe ce que j'ai essayé, le fichier de bibliothèque résultant contient uniquement le manifeste généré automatiquement avec seulement Ant-Version et Created-By.Est-il possible d'ajouter un manifeste personnalisé à une bibliothèque Java compilée dans Netbeans 6.7.1?

+0

Avez-vous accès à la commande de génération jar/ou êtes-vous capable de la modifier/modifier/redéfinir. Ensuite, vous pourriez simplement utiliser votre propre manifeste pour le jar'ing. –

Répondre

2

Je fini par ajouter une tâche Jar dans le build.xml, ce qui était vraiment bon car il m'a permis d'ajouter une tâche Sign également après la mise à jour manifeste:

<target name="-post-jar"> 
    <jar destfile="${dist.jar}" 
     update="true"> 
     <manifest> 
     <attribute name="Built-By" value="..."/> 
     <attribute name="Specification-Title" value="..."/> 
     <attribute name="Specification-Vendor" value="..."/> 
     <attribute name="Specification-Version" value="..."/> 
     <attribute name="Implementation-Vendor" value="..."/> 
     <attribute name="Implementation-Title" value="..."/> 
     <attribute name="Implementation-Version" value="..."/> 
     </manifest> 
    </jar> 
    <signjar jar="${dist.jar}" 
     alias="..." 
     keystore="..." 
     storepass="..."/> 
</target> 
2

Pour obtenir un outil facile à modifier MANIFESTE .mf une modification de ce qui précède est de passer outre la tâche « -post-pot » dans build.xml comme:

<target name="-post-jar"> 
     <jar destfile="${dist.jar}" 
     update="true" manifest="src/META-INF/MANIFEST.MF"> 
     </jar> 
</target> 

et pour créer le package « META-INF » (peut également être utilisé pour d'autres ajustements comme un fichier "mime.types") et un fichier vide nommé "MANIFEST.MF" , Qui peut ensuite être édité dans l'éditeur NetBeans, par exemple contenant:

 
Manifest-Version: 1.0 
Foo: Bar 
See: Jar_File_Spec 

De cette façon, testée avec:
Version du produit: NetBeans IDE 6.9.1 (Build 201011082200)
Java: 1.6.0_21; Serveur Java HotSpot (TM) 64 bits VM 17.0-b16
Système: Linux version 2.6.32-29-generic s'exécutant sur amd64; UTF-8; de_DE (nb)