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?
Répondre
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>
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)
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. –