关于maven:已解决maven项目srcmainjava下包含静态文件无法被编译问题

37次阅读

共计 861 个字符,预计需要花费 3 分钟才能阅读完成。

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"));
}

正文完
 0