Netbeans / java添加外部配置文件

时间:2013-12-30 15:57:57

标签: java file netbeans external config

基于此主题:Netbeans and external configuration files

我认为我想做的事情是可能的。但答案并不适合我。 代码是使用know来自最后一个答案:

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

但是这只是创建了一个名为:$ {dist.jar.dir}的目录,其资源文件夹和文件位于我的src,dist,build,nbproject文件夹的同一位置。但我希望它在dist中,所以我的dist,jar,lib,webfiles和资源。

感谢您的帮助和澄清。

2 个答案:

答案 0 :(得分:0)

如果要将特定目录的所有内容复制到构建的\dist目录,可以执行以下操作:

<target name="-pre-init">
    <!-- Create a resource directory property -->
    <property name="src.res.dir" value="${basedir}/res" />
</target>

<target name="-pre-jar">
    <!-- Copy external resources folder -->
    <copy todir="${build.classes.dir}\inside\res\dir">
        <fileset dir="${src.res.dir}\inside\res\dir">
            <include name="**/*" />
        </fileset>
    <copy>
</target>

这将复制项目\inside\res\dir目录中名为$\res的文件夹的内容。我使用这种技术在发行版中包含一个应用程序图标。

然后,您应该可以使用以下内容从应用程序内部访问这些资源:

ClassLoader.getSystemResource("inside/res/dir/file.ext")

答案 1 :(得分:0)

好的,我解决了,所以要复制一个文件,我把文件放在src中一个名为resources的文件夹中,在那里我的文件。

然后以下代码可以解决问题:

 <target name="-post-jar">
    <copy file="${src.dir}/resources/filename.extension" flatten="true" todir="${dist.dir}/resources" />
</target> 

好的,出于某种原因,如果我在构建文件中使用它,我的jar就不再被构建/更新了。任何线索都没有?

对于jfx项目,

解决了需要为“-post-jfx-jar”的问题