2010-12-01 27 views
4

J'ai un MANIFEST.MF personnalisé dans mon projet java dans Eclipse.Comment construire un pot en utilisant un propre MANIFEST.MF dans Eclipse

Lors de l'exportation du projet dans un pot, je choisis

utilisation existante manifeste de l'espace de travail

Rapatrier les spectacles .jar éclipse généré son propre manifeste.

Mon manifeste:

Manifest-Version: 1.0 
Main-Class: de.somehow.tagPDF.Main 
Class-Path: lib/iText-5.0.2.jar;lib/jxl.jar;lib/jai_codec.jar;lib/jai_core.jar 

Comment puis-je résoudre ce problème?

Répondre

4

Vous pouvez utiliser un fichier build.xml pour générer le fichier jar pour vous.

Ensuite, vous venez d'exécuter le fichier build.xml en tant que tâche Ant.

Voir alt text

Si vous voulez que le build.xml pour exécuter automatiquement chaque fois que vous construisez votre projet Eclipse, vous pouvez l'ajouter à la liste des constructeurs.

Voir alt text

est Ci-dessous un échantillon build.xml où un manifeste personnalisé est utilisé:

<?xml version="1.0" encoding="UTF-8"?> 
<project basedir="." name="Example" default="run_build"> 

    <property name="guiJar" value="../../Library/<jar-name>.jar"></property> 

    <target name="run_build" depends="delete_old_jar,create_dirs,create_manifest,copy_all_class_files,create_jar,delete_temp_dirs"> 
    </target> 

    <target name="delete_old_jar"> 
     <delete file="${guiJar}"> 
     </delete> 
    </target> 

    <target name="create_dirs"> 
     <mkdir dir="jar_temp" /> 
     <mkdir dir="jar_temp/META-INF" /> 
    </target> 

    <target name="delete_temp_dirs"> 
     <delete dir="jar_temp"> 
     </delete> 
    </target> 

    <target name="create_manifest"> 
     <manifest file="jar_temp/META-INF/MANIFEST.MF"> 
      <attribute name="Manifest-Version" value="1.0" /> 
      <attribute name="Version" value="1.0.0" /> 
      <attribute name="Company" value="Value" /> 
      <attribute name="Project" value="Value" /> 
      <attribute name="Java-Version" value="${java.version}" /> 
      <attribute name="Class-Path" value="test.jar" /> 
        <attribute name="Main-Class" value="com.Main" /> 
     </manifest> 
    </target> 

    <target name="create_jar"> 
     <jar destfile="${guiJar}" manifest="jar_temp/META-INF/MANIFEST.MF" basedir="jar_temp"> 
     </jar> 
    </target> 

    <target name="copy_all_class_files"> 
     <copy todir="jar_temp"> 
      <fileset dir="classes"> 
       <include name="*/**" /> 
      </fileset> 
     </copy> 
    </target> 
</project> 
0

Eclipse 3.6.1. Rigth cliquez sur votre projet compilé -> Exporter Ensuite, vous devez choisir Java - Fichier JAR de l'arbre Dans le nouveau formulaire est apparu après que vous sélectionnez les options ne cliquez pas sur «Terminer». La troisième forme sera 'JAR Manifest Specification' et là vous pouvez choisir votre fichier manifeste au lieu de celui généré par éclipse.

+0

Comme posté, c'est exactement ce que j'ai fait. J'utilise Eclipse 3.3.2. – Sven

+0

Eh bien, cette option fonctionne (dans Eclipse Luna). Assurez-vous simplement d'ajouter un retour après la dernière option ajoutée manuellement dans votre MANIFEST.MF personnalisé, sinon l'analyseur ne remarquera pas la dernière ligne. Dans mon cas, cela donnait l'impression que l'option ne fonctionnait pas complètement – DataHacker