maven工程xml文件路径问题

时间:2021-10-12 18:47:57

想了半天也不知道标题应该怎么起,我遇到的问题大概如下:

1、maven工程中的xml文件应该放在哪才能打包的时候打进去?

2、用sax解析文件时,如何确定文件的路径?

3、如何才能确保本地方法可以读取到本工程中的路径,但是打成jar包供别人调用方法的时候却找不到配置文件路径?

直接上代码和截图

maven工程下的配置文件统一放到src/main/resources下,这样默认会从这个路径下读取配置文件,然后在pom.xml文件中加入如下配置,确保在打包的时候可以把这个路径下的配置文件也打过去。(maven用的还不熟,不知道对不对,反正这样是好用的)

maven工程xml文件路径问题maven工程xml文件路径问题

Documentorg.dom4j.io.SAXReader.read(InputStream in) throws DocumentException这个方法来解析,这样的话里面就传InputStream就可以了。

InputStream domainIn = ShopSDK.class.getClassLoader() .getResourceAsStream("domain.xml");

上面已经说过了,将domain.xml配置文件放到正确的路劲下默认从那个路径下读取,因此不需要来指定路径了。

用这种方式来获取inputStream,这样即使打成jar包,别人引用的时候也可以读取到方法中提供的配置文件信息。

maven工程xml文件路径问题

这样即使我把maven工程打成jar包,别人来调用我getValue这个方法时,就不会存在找不到配置文件,路径不对等问题了。


ps:本人菜鸟,将工作中遇到的问题记录下来,方便遇到同样问题的同学阅读,如果有错误的地方,欢迎大神指点!