如何在Maven中的资源中添加子文件夹

时间:2017-08-18 23:13:09

标签: java maven

我在Maven有一个项目,我创建了一个类来读取txt文件。 text.txt文件包含一个简单的" Hello World"文本。当我将text.txt放在resources文件夹中并执行代码时,text.txt文件正常读取。但是如果我在资源中创建一个名称为abc的文件夹。我要去POM并添加:

<Project>
[...]
<Build>
     <Resources>
       <Resource>
         <Directory>src/main/resources/</ directory>
         <Includes>
           <Include>abc/</ include>
         </ Includes>
       </ Resource>
     </ Resources>
</ Buil>
[...]
</ Project>

text.txt文件放在文件夹中:abc。 NullPointerException已发布。

我的问题是如何在POM中添加这些子描述。

我的课程:

public class Test {

    public static void main(String[] args) {
        new Test();
    }

    public Test() {

        try{ 

            InputStream in = getClass().getResourceAsStream("/text.txt");

            BufferedReader br = new BufferedReader(new InputStreamReader(in));

            String abc = br.readLine();

            System.out.println(abc);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

maven

> Project |-- pom.xml 
>             `-- src
>                   `-- main
>                        `-- resources
>                              `-- abc
>                              |-- text.txt

1 个答案:

答案 0 :(得分:2)

您无需将子文件夹abc添加到您的pom中。由于text.txt位于abc文件夹中,您可以像这样访问它:

InputStream in = getClass().getResourceAsStream("/abc/text.txt");