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 پاسخ 926 بازدید
0 امتیاز
1 پاسخ 406 بازدید
0 امتیاز
0 پاسخ 184 بازدید
+1 امتیاز
1 پاسخ 524 بازدید
+1 امتیاز
1 پاسخ 284 بازدید
+1 امتیاز
1 پاسخ 336 بازدید
...