已解决maven项目src/main/java下包含静态文件无法被编译问题

Posted yizheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已解决maven项目src/main/java下包含静态文件无法被编译问题相关的知识,希望对你有一定的参考价值。

maven工程有专门的resources文件夹存储静态资源,但有时我们有将静态文件与class并列的情况,此时需要在maven中添加如下配置:

<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.properties</include>
        </includes>
    </resource>
    <resource>
        <directory>src/resources</directory>
    </resource>
</resources>

表示包含静态文件的路径。
另,关于java读取静态资源,分为绝对路径及相对路径两种方式
绝对路径表示以src为根目录,以“/”为起始字符的文件内容。而相对路径表示与当前类并列的位置,不需要加“/”。

private static String PROPERTIESFILE = "conn.properties";
public static void main(String[] args) throws IOException {
    Pool pool = new Pool();
    pool.load();
}
private void load() throws IOException {
    // 相对路径
    InputStream is = this.getClass().getResourceAsStream("" + PROPERTIESFILE);
    // 绝对路径
    InputStream is = this.getClass().getResourceAsStream("/" + PROPERTIESFILE);
    // 另一种方式 - 此方法会遍历路径寻找,所以不需要加“/”
    InputStream is = ClassLoader.getSystemResourceAsStream(PROPERTIESFILE);
    Properties p = new Properties();
    p.load(is);
    System.out.println(p.getProperty("hello"));
}

以上是关于已解决maven项目src/main/java下包含静态文件无法被编译问题的主要内容,如果未能解决你的问题,请参考以下文章

解决Eclipse建立Maven项目后无src/main/java资源文件夹的办法

maven 搭新建成之后 无法创建 src/main/java 目录解决

Eclipse中建立Maven项目后,Java Resources资源文件下没有src/main/java文件夹

解决idea中maven项目无法读取src/main/java目录下面的配置文件问题

创建Maven创建src/main/java提示反复

解决maven项目无法读取src/main/java目录下面的配置文件问题