maven 编译项目是多个源目录(src/main/java、src/main/resources)同时输出到target/classes目录下,经过maven编译后的src/main/java复制到相应的target/classes下,这里面全都是由src/main/java目录下的java文件编译过来classes字节码文件,而src/main/java目录下的其它格式的文件,如(.xml、.property...)都不会被复制到target/classes目录,所以如果在此时用class.getClassLoader().getSystemResourceAsStream("property.xml")是不可能找到配置文件的,本来无一物,何处觅文件?
所以,maven标准的目录结构里提供了src/main/resources目录,用以存放各种配置文件的,同样编译输出到target/classes目录下,所以,我们要找配置文件得在这个目录下去找。