我将配置文件也打进在jar包中,其中有两个配置文件存在相互应用关系:
A配置文件中有<xs:include schemaLocation="./B.xsd"/> 引用B配置文件
B配置文件和A配置文件在同一目录下在程序中通过this.getClass().getClassLoader().getResource("conf/A.xsd");可以成功访问到A配置文件,但是B配置文件无论如何都访问不到了
各位高人有遇到这种情况么?该如何解决呐?
A配置文件中有<xs:include schemaLocation="./B.xsd"/> 引用B配置文件
B配置文件和A配置文件在同一目录下在程序中通过this.getClass().getClassLoader().getResource("conf/A.xsd");可以成功访问到A配置文件,但是B配置文件无论如何都访问不到了
各位高人有遇到这种情况么?该如何解决呐?
getClass().getResouce()方法是可以找到A配置文件的,我在程序中也是这么写的,但是A配置文件中include了B配置文件,我的程序只找A配置文件,是不会去管B文件的,现在的问题是发现不打包时找A文件时B文件成功Include了,但是一打包B就Include不了了
假如程序找到A文件,但是找不到B文件,那么程序就是不能确定A文件的位置,因为如果知道A文件的位置就能找到B文件。所以,我觉得可以修改下,getClassLoader().getResouce()方法返回URL对象后,用URL.getPath()方法返回文件路径,再new File(),获取A文件的对象再处理。上面是假设,如果不对,请楼主将处理A文件的程序贴出来看看。