gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 13:13:02 25 4
gpt4 key购买 nike

抱歉,如果问题很基本。我正在尝试构建一个包含文本文件的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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com