2008-11-19 6 views
9

Je développe une application de bureau Java et j'aimerais avoir un fichier configuration.xml externe.
Je développe l'application en utilisant Netbeans et j'ai essayé d'ajouter le fichier configuration.xml dans le répertoire dist afin qu'il réside dans le dossier de travail de l'application. Mais lorsque Netbeans exécute son opération de nettoyage, il supprime le répertoire dist,
Où dois-je placer ce fichier configuration.xml pour qu'il ne soit pas supprimé et existe dans le répertoire de démarrage de l'application.Netbeans et fichiers de configuration externes

Répondre

13

Vous pouvez ajouter à votre build.xml:

<target name="-post-jar"> 
    <copy todir="${dist.jar.dir}"> 
     <fileset dir="resources" includes="**"/> 
    </copy>   
</target> 

Vous pouvez maintenant mettre votre fichier configuration.xml dans le « ressources » (dossier que vous devez créer) dans votre projet et tous les fichiers il sera copié dans le dossier dist pendant le processus de construction.

1

J'ai réussi à faire fonctionner ceci, mais je ne pouvais pas déclencher de post-jar sans l'entrer explicitement en tant que dépendance dans la configuration de construction principale. C'est dans Netbeans 7.0.1 pour un projet client enrichi.

Au lieu de cela, dans build.xml pour le module Netbeans où je veux avoir des fichiers de ressources externes (fichiers principalement txt que l'utilisateur pourrait modifier plus tard), je suis entré dans ce qui suit:

<target name="netbeans-extra"> 
     <echo>Copying resources files to build cluster directory...</echo> 
     <mkdir dir="${cluster}/resources"/> 
     <copy todir="${cluster}/resources"> 
     <fileset dir="resources" includes="**"/> 
     </copy> 
    </target> 

Je créez un nouveau répertoire dans le répertoire supérieur de mon module (juste à côté de src, release, build) appelé 'resources' et placez mes fichiers .txt dedans. Quand vous faites une construction sur ce module, netbeans-extra sera appelé en tant que dépendance et effectuera la création d'un dossier 'resources' dans le répertoire principal de construction/cluster du projet, suivi de la copie du contenu du projet répertoire des ressources là-bas. En fin de compte, lorsque vous construisez une distribution pour votre projet, vous trouverez le répertoire de ressources placé juste à côté de votre répertoire de modules de projets, ce qui rend l'arrangement côte à côte sympa et ordonné.

1

code correct ...

<target name="-pre-jar"> 
    <echo>Copying resources files to build directory...</echo> 
    <mkdir dir="${dist.jar.dir}/resources"/> 
    <copy todir="${dist.jar.dir}/resources"> 
     <fileset dir="resources" includes="**"/> 
    </copy> 
</target> 

Ajouter ce dans la principale build.xml (non nbproject \ build-impl.xml). Vous pouvez également remplacer "-pre-jar" par "-post-jar"

Questions connexes