2008-11-19 16 views
9

Ich bin eine Java-Desktop-Anwendung entwickelt und mag eine externe configuration.xml haben.
Ich entwickle die Anwendung mit Netbeans und versucht, die Datei configuration.xml im dist Verzeichnis hinzuzufügen, so dass es in der Anwendung Arbeitsordner befindet. Aber wenn Netbeans seine saubere Operation ausführt löscht er die dist-Verzeichnis,
Wo soll ich diese Datei configuration.xml setzen, damit es nicht gelöscht werden und wird in der Anwendung Start-Verzeichnis vorhanden sind.Netbeans und externe Konfigurationsdateien

Antwort

13

Sie können diese zu Ihrem build.xml hinzu:

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

Sie können nun Ihre configuration.xml Datei in den ‚Ressourcen‘ Ordner speichern (die Sie erstellen müssen) in Ihrem Projekt und alle Dateien in Es wird während des Erstellungsprozesses in den Ordner "dist" kopiert.

1

Ich konnte dies zur Arbeit kommen, aber ich konnte nicht -Post-Glas, ohne explizit auszulösen bekommen es als eine Abhängigkeit in der Haupt-Build-Konfiguration eingeben. Dies ist in Netbeans 7.0.1 für ein Rich-Client-Projekt. Ich

<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> 

Dann:

Stattdessen in build.xml für das Netbeans-Modul, wo ich Dateien externe Ressource haben will (vor allem TXT-Dateien, die der Benutzer möglicherweise später bearbeiten kann), trat ich in die folgenden Erstelle ein neues Verzeichnis im obersten Verzeichnis meines Moduls (rechts neben src, release, build) namens 'resources' und lege dort meine .txt-Dateien ein.

Wenn Sie ein Build für dieses Modul erstellen, wird netbeans-extra als Abhängigkeit aufgerufen und die Erstellung eines 'resources' -Ordners im Hauptverzeichnis des Build/cluster-Verzeichnisses ausgeführt, gefolgt vom Kopieren des Inhalts des Projekts Ressourcenverzeichnis dort drüben.

Letztendlich, wenn Sie eine Verteilung für Ihr Projekt erstellen, werden Sie das Ressourcenverzeichnis direkt neben Ihrer Projekte platziert finden modules, was für eine schöne und ordentlich nebeneinander Anordnung.

1

Korrekter Code ...

<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> 

Fügen Sie diese in der Haupt build.xml (nicht Verzeichnis nbproject \ build-impl.xml). Sie können auch "-pre-jar" durch "-post-jar"

ersetzen