0 امتیاز
قبل در برنامه نویسی توسط (10 امتیاز)
ویرایش شده قبل توسط

من دارم در حین runtime یک کلاسی رو لود میکنم که این کلاس در دایرکتوری d:\operators.Operator قرار داره(operators) نام پکیج هست.ولی وقتی برنامه رو run میکنم با استثنا ClassNotFoundException مواجه میشم (برنامه اصلی من در دایرکتوری d:\project\main.MathClass قرار داره) . من به این صورت لود میکنم

                        //Find operator path
			String rootPath = System.getProperty("user.dir");
			int endOfSubstring = rootPath.indexOf("\\");
			String operatorPath = rootPath.substring(0,endOfSubstring);
			operatorPath = operatorPath + "operator";

			//Load operators from another file
			File operatorFile = new File(operatorPath);
			URL operatorFilePath = operatorFile.toURL();          
			URL[] operatorFilePaths = new URL[]{operatorFilePath};
			ClassLoader operatorsLoader = new URLClassLoader(operatorFilePaths);
			System.out.println(operatorFilePaths);
			
			Class operatorInterface = operatorsLoader.loadClass("operators.Operator");

کسی میدونه علتش چیه؟

قبل توسط (302 امتیاز)
فکر میکنم وقتی مسیر اصلی برنامه رو ساب استیرنگ میکنید، باید فقط \\:D بمونه! یعنی دیگه نباید operator رو اضافه کنید به مسیر. مگه اینکه فایل کلاستون توی یه فولدر دیگه باشه(فولدر پکیج)! که اینجوری که گفتین اینطور نیست.
قبل توسط (10 امتیاز)
پوشه اصلی برنامه در این مسیر هست : d:\project\main.MathClass
پوشه اوپراتورها در این مسیر هست : d:\operators.Operator
در دو فولدر جداگانه هستن ولی در یک درایو

1 پاسخ

0 امتیاز
قبل توسط (302 امتیاز)
ویرایش شده قبل توسط

File file = new File("..\\..\\operators");

try {
    URL url = file.toURL();
    URL[] urls = new URL[]{url};
    ClassLoader cl = new URLClassLoader(urls);

    Class cls = cl.loadClass("operators.Operator");
} catch (MalformedURLException e) {
} catch (ClassNotFoundException e) {
}

 

قبل توسط (10 امتیاز)
یعنی چه طور؟می دونید برنامه من یکم طولانیه این فقط یه بخشی از کد من هست
قبل توسط (10 امتیاز)
ممنونم مشکل کد رو پیدا کردم

سوالات مشابه

0 امتیاز
2 پاسخ 934 بازدید
0 امتیاز
1 پاسخ 411 بازدید
0 امتیاز
0 پاسخ 189 بازدید
+1 امتیاز
1 پاسخ 533 بازدید
+1 امتیاز
1 پاسخ 288 بازدید
+1 امتیاز
1 پاسخ 341 بازدید
...