Вопрос

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

Это было полезно?

Решение

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

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

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

Другие советы

Мне удалось заставить это работать, но я не мог заставить -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 проекта с последующим копированием содержимого ресурсов проекта. каталог там.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top