我有两个 jar 文件(比如说 jar1 和 jar2)。jar2 中有一个 xml 文件。我想读取 xml 文件。我用了
public void readXmlFile(){
InputStream resourceAsStream = MainFile.class.getResourceAsStream("/test.xml");
}
但是现在我正在使用 jar1 中的一个类调用这个函数
File file = new File(jar2);
URL url = file.toURL();
URL[] urls = new URL[] { url };
ClassLoader cl = new URLClassLoader(urls);
Class<?> compositeClass = cl.loadClass(XmlFileReader);
Method declaredMethod = compositeClass.getDeclaredMethod("readXmlFile");
Object newInstance = compositeClass.newInstance();
declaredMethod.invoke(newInstance);
现在我收到 FileNotFoundException,因为在 jar1 而不是在 jar2 中搜索 xml 文件,我不知道为什么会这样。谁能帮我?