已解决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文件夹