Netbeans e arquivos de configuração externos
Pergunta
Estou desenvolvendo uma aplicação desktop Java e gostaria de ter uma configuration.xml externo.
Estou a desenvolver o aplicativo usando o Netbeans e tentou adicionar o arquivo configuration.xml no diretório dist para que ele reside na pasta de trabalho do aplicativo. Mas quando Netbeans executa sua operação de limpeza que exclui o diretório dist,
Onde devo colocar este arquivo configuration.xml para que ele não será excluído e existirá no directório de arranque da aplicação.
Solução
Você pode adicionar isto ao seu build.xml:
<target name="-post-jar">
<copy todir="${dist.jar.dir}">
<fileset dir="resources" includes="**"/>
</copy>
</target>
Agora você pode colocar seu arquivo configuration.xml na pasta 'recursos' (que você precisa para criar) em seu projeto e todos os arquivos nele serão copiados para a pasta dist durante o processo de criação.
Outras dicas
Eu era capaz de chegar a este trabalho, mas eu não poderia começar -post-jar para gatilho sem entrar explicitamente como uma dependência no principal configuração construção. Isto está em Netbeans 7.0.1 para um projeto de Rich Client.
Em vez disso, em build.xml para o módulo Netbeans onde eu quero ter arquivos de recurso externo (principalmente arquivos .txt que o usuário poderia editar mais tarde), eu entrei o seguinte:
<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>
Então eu criar um novo diretório no diretório superior do meu módulo (à direita ao lado src, release, compilação) chamado 'recursos' e colocar meus arquivos .txt lá.
Quando você faz uma compilação sobre este módulo, netbeans-extra irá obter chamado como uma dependência e levar a cabo a criação de uma pasta de 'recursos' no diretório de construção do projeto / cluster principal, seguido por copiar o conteúdo dos recursos do projeto anuário ali.
Em última análise, quando você constrói uma distribuição para o seu projeto, você vai encontrar o diretório de recursos colocados ao lado diretório seus projetos módulos, para fazer um bom e lado limpo por acordo lado.
código correto ...
<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>
Adicione esta no build.xml principal (não nbproject \ build-impl.xml). Você também pode substituir "-Pré-jar" com "-post-jar"