2 つの jar ファイルがあります (jar1 と jar2 としましょう)。jar2 内に 1 つの 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);
XMLファイルがjar2ではなくjar1で検索されているため、FileNotFoundExceptionが発生しています。なぜこれが起こっているのかわかりません。誰でも私を助けることができますか?