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

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


    
        src/main/java
        
            **/*.properties
        
    
    
        src/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)