想了半天也不知道标题应该怎么起,我遇到的问题大概如下:
1、maven工程中的xml文件应该放在哪才能打包的时候打进去?
2、用sax解析文件时,如何确定文件的路径?
3、如何才能确保本地方法可以读取到本工程中的路径,但是打成jar包供别人调用方法的时候却找不到配置文件路径?
直接上代码和截图
maven工程下的配置文件统一放到src/main/resources下,这样默认会从这个路径下读取配置文件,然后在pom.xml文件中加入如下配置,确保在打包的时候可以把这个路径下的配置文件也打过去。(maven用的还不熟,不知道对不对,反正这样是好用的)
用Documentorg.dom4j.io.SAXReader.read(InputStream in) throws DocumentException这个方法来解析,这样的话里面就传InputStream就可以了。
InputStream domainIn = ShopSDK.class.getClassLoader() .getResourceAsStream("domain.xml");
上面已经说过了,将domain.xml配置文件放到正确的路劲下默认从那个路径下读取,因此不需要来指定路径了。
用这种方式来获取inputStream,这样即使打成jar包,别人引用的时候也可以读取到方法中提供的配置文件信息。
这样即使我把maven工程打成jar包,别人来调用我getValue这个方法时,就不会存在找不到配置文件,路径不对等问题了。
ps:本人菜鸟,将工作中遇到的问题记录下来,方便遇到同样问题的同学阅读,如果有错误的地方,欢迎大神指点!