NetBeans и внешние файлы конфигурации - PullRequest
9 голосов
/ 19 ноября 2008

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

Ответы [ 3 ]

12 голосов
/ 19 ноября 2008

Вы можете добавить это в свой build.xml:

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

Теперь вы можете поместить свой файл configuration.xml в папку 'resources' (которую вам нужно создать) в своем проекте, и все файлы в нем будут скопированы в папку dist в процессе сборки.

1 голос
/ 18 июня 2012

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

<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 \ build-impl.xml). Вы также можете заменить «-pre-jar» на «-post-jar»

1 голос
/ 08 сентября 2011

Мне удалось заставить это работать, но я не мог заставить -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) под названием 'resources' и помещаю туда мои файлы .txt.

Когда вы делаете сборку на этом модуле, netbeans-extra будет вызываться как зависимость и будет выполнять создание папки 'resources' в главном каталоге build / cluster проекта, с последующим копированием содержимого ресурсов проекта. каталог там.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...