2008-11-19 3 views
9

Я занимаюсь разработкой настольного приложения Java и хотел бы иметь внешний файл configuration.xml.
Я разрабатываю приложение с помощью Netbeans и пытаюсь добавить файл configuration.xml в каталог dist, чтобы он находился в рабочей папке приложения. Но когда Netbeans выполняет свою чистую операцию, он удаляет каталог dist,
Где я должен поместить этот файл configuration.xml, чтобы он не был удален и будет существовать в каталоге запуска приложения.Netbeans и внешние файлы конфигурации

ответ

13

Вы можете добавить это к вашему build.xml:

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

Теперь вы можете поместить файл configuration.xml в «ресурсы» папку (что вам нужно создать) в проекте и все файлы он будет скопирован в папку dist во время процесса сборки.

1

Мне удалось заставить это работать, но я не смог получить -post-jar для запуска без явного ввода его в качестве зависимости в основной конфигурации сборки. Это в Netbeans 7.0.1 для проекта Rich Client.

Вместо этого в build.xml для модуля Netbeans, где я хочу, чтобы иметь внешние файлы ресурсов (в основном .txt файлы, которые пользователь может потенциально отредактировать позже), я вошел в следующее:

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

Тогда я создайте новый каталог в верхней директории моего модуля (прямо рядом с src, release, build), называемый «ресурсами», и поместите туда мои .txt-файлы.

Когда вы создаете этот модуль, netbeans-extra будет вызываться как зависимость и выполнять создание папки «resources» в основной директории сборки/кластера проекта, а затем копировать содержимое проекта каталог ресурсов.

В конечном счете, когда вы создадите дистрибутив для своего проекта, вы найдете каталог ресурсов, расположенный рядом с каталогом модулей проектов, что делает его красивым и аккуратным.

1

Правильный код ...

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

Добавьте это в главном build.xml (не nbproject \ строить-impl.xml). Вы также можете заменить «-pre-jar» на «-post-jar»

Смежные вопросы