java - 在 Netbeans 中构建的 java 项目不包含外部 TEXT 文件

标签 java netbeans

抱歉,如果问题很基本。我正在尝试构建一个包含文本文件的java项目:

    File file = new File("data/include/foo.txt");

问题是,使用 Netbeans 时,“构建”和“清理”操作的完成没有考虑外部文本文件。 你能帮我解决这个问题吗?

最佳答案

在 Netbeans 中,基本上有两种类型的 Java 项目。一种是使用 ANT 作为其构建机器,另一种是使用 ma​​ven

使用 ANT 构建:

您必须修改或构建build.xml。 Netbeans 在其标准 build.xml 中提供了一些目标来触发构建过程每个部分的事件。

因此,要包含一些额外的资源文件(在您的情况下是一些文本文件),您应该添加带有类似

的目标的 build.xml
<target name="-post-jar">
    <jar destfile="dist/myjar.jar" update="true">
        <fileset dir="${basedir}">
            <include name="data/include/*"/>
        </fileset>
    </jar>
</target>

这意味着在构建 JAR 后,${basedir}/files/* 中的文件也会包含在内。

使用MAVEN构建:

Netbeans 在这里完全使用 Mavens 基础设施。所以 Maven 确实有一个标准机制来识别要包含的资源文件。这一切都归结为将这些文件放置在项目的特定位置。假设您没有更改 maven JAR 项目的标准目录布局,如下所示:

Project
   src
       main
           java
           resources
   ...

因此,放置在 src/main/resources 中的所有文件(包括子文件夹)都会自动包含在您的 JAR 中。

了解更多 here

编辑1:

要访问此资源文件,您不能使用File对象。这是使用类自己的 getResource 方法完成的:

App.class.getResourceAsStream("data.xml")

App.class.getResource("data.xml")

这里我的类是App,我的数据文件是data.xml,它与我的类位于同一目录中。这是相对解决的。但是,如果您使用标题为 / 的路径,那么您的路径就是 JAR 文件的绝对路径。了解更多相关信息here .

关于java - 在 Netbeans 中构建的 java 项目不包含外部 TEXT 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22690762/

相关文章:

java - 重写 toString() 以表示对象的字符串的原因和好处是什么?

java - 从邮政编码获取纬度/经度

java - Netbeans 有用的键盘快捷键

java - 连接到sql server时端口号不正确

java - 基本 Web 服务 Scala + JEE6 + weblogic

java - 为什么 sysout 不起作用?

java - 如何让 GWT 编译多个模块?

java - Netbeans,空 DefaultListModel

php - 模板文件中的 Netbeans PHP 语法突出显示

java - 使用 jQuery 和 Java 根据下拉列表填充 html 表格数据