2010-12-14 5 views
1

J'ai un projet java avec deux classes. L'un d'eux est avec la méthode principale. J'ai aussi deux fichiers l'un d'eux est a.properties et le second un b.xls. La façon dont je veux exporter ce projet est dans un fichier exécutable mais sans que ces deux fichiers (a.properties et b.xls) soient compressés dans ce fichier exécutable. La raison en est, l'utilisateur qui exécute ce projet devrait pouvoir changer le fichier de propriétés (a.properties) et aussi exceler le fichier (b.xls). Je veux également inclure les bibliothèques que j'ai utilisées pour ce projet. J'utilise Eclipse Helios et jdk 1.6.Projet java d'emballage

J'apprécie vraiment si quelqu'un va me fournir les étapes pour cela. J'ai déjà essayé l'option Exporter avec un fichier exécutable mais il compresse tout, y compris deux fichiers.

Merci

Répondre

1

Packaging se fait habituellement par un script ANT. Dans Eclipse, vous pouvez simplifier un tel scribt en utilisant les fichiers de classe compilés générés par Eclipse:

Enregistrez le fichier suivant en tant que build.xml, adaptez vos noms de fichiers et exécutez-le en tant que Ant Build. Il s'agira d'un fichier nommé package.zip qui inclut le fichier jar créé et (en dehors du fichier jar) vos deux fichiers supplémentaires.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<project default="pack"> 
    <target name="pack"> 
     <jar destfile="myprog.jar"> 
      <manifest> 
       <attribute name="Main-Class" value="com.example.myapp.Main" /> 
       <attribute name="Class-Path" value="."/> 
      </manifest> 
      <fileset dir="bin" defaultexcludes="true"> 
       <include name="**/*.class" /> 
      </fileset> 
     </jar> 
     <zip destfile="package.zip"> 
      <fileset dir="."> 
       <include name="myprog.jar" /> 
       <include name="myprog.properties" /> 
       <include name="myprog.xls" /> 
      </fileset> 
     </zip> 
    </target> 
</project> 
+0

Il semble qu'il manque quelque chose à ce fichier de construction. D'une certaine manière, il n'inclut pas les fichiers de classe, deux fichiers de propriétés et les bibliothèques de référence. J'ai modifié ce fichier en fonction de mes projets. – user509755

+0

Je trouve le problème. La balise Include doit être comme ceci et pour copier le jar référencé je fournis le chemin de la concurrence. Mais c'était vraiment une réponse rapide pour commencer à travailler dessus. Merci beaucoup pour votre temps, vraiment l'apprécier – user509755

1

1> Gardez les 2 fichiers (a.properties et fichier B.xls dans le répertoire racine)
2> Conserver uniquement le fichier src dans le dossier \ src
3> compiler le fichier src .java au fichier .class
4> le fichier .class correspondant apparaît dans \ classes dossier
5> exécutez la commande jar sur les classes dossier uniquement
pot d'utilisation -cvf * .class example.jar
6> vous obtenez désiré fichier jar qui contient uniquement le fichier .class.

Espérons que ma solution fonctionne
Bonne chance !!!

3

Vous auriez besoin d'exclure les fichiers du pot

<jar jarfile="some.jar" excludes="some.properties,some.properties"> 
     <fileset dir="${build}" /> 
     <manifest> 
      <attribute name="Main-Class" value="some.class"/> 
      <attribute name="Class-Path" value="."/> 
     </manifest> 
    </jar> 
+0

Merci, j'ai raté cette partie importante - maintenant corrigée – Robert

0

Avec Eclipse, vous pouvez simplement aller à l'explorateur de projet. Cliquez avec le bouton droit sur le nom du projet et sélectionnez l'exportation. Sous Java, cliquez sur le fichier jar exécutable (ou simplement sur le fichier jar si c'est ce que vous voulez). Suivez les instructions et vous avez terminé.