+2 امتیاز
قبل در برنامه نویسی توسط (505 امتیاز)
ویرایش شده قبل توسط
چطوری باید فایل با پسوند class را در زمان runtime در برنامه جاوا بارگذاری کنم؟
قبل توسط (505 امتیاز)
زمانی که برنامه در حین اجرا است.پس از deploy.
قبل توسط (42 امتیاز)
+1
باید dynamic classloading رو تو اینترنت سرچ کنی.

1 پاسخ

+1 امتیاز
قبل توسط (1.1هزار امتیاز)

اگر فرض کنیم فایل NewClass.class در دایرکتوری زیر قرار دارد:

/home/saeed/NetBeansProjects/java-test/build/classes/com/test

با استفاده از تکه کد زیر می توانید این فایل با پسوند class را در زمان اجرا لود کنید:

        File file = new File("/home/saeed/NetBeansProjects/java-test/build/classes");

        URI uri = file.toURI();
        URL[] urls = new URL[]{uri.toURL()};

        ClassLoader classLoader = new URLClassLoader(urls);

        Class clazz = classLoader.loadClass("com.test.NewClass");
قبل توسط (505 امتیاز)
چرا آدرس دهیتون را به صورت absolute ندادید؟اگر به این شکل آدرس را مشحص کنم،خطا می دهد.
C:\Users\ali\workspace\GetInfoPackage\hi\org\hibernate
قبل توسط (1.1هزار امتیاز)
من دقیقا absolute دادم. آدرس دهی absolute توی لینوکس اینجوریه.
قبل توسط (505 امتیاز)
1-از کجا بفهمم که در کد زیر ، از چه قسمتی از مسیر را جز نام کلاس با استفاده از نقطه،قبلش اضافه کنم؟
Class clazz = classLoader.loadClass("com.test.NewClass");
2-آیا روشی که استفاده کردید،Reflection بود؟
3-به چه روشی بفهمم که این کلاسی که لود شده،چه متدهایی دارد؟
قبل توسط (1.1هزار امتیاز)
در مورد مسیر کاملا مشخصه من دو تا آدرس دایرکتوری گذاشتم اگر دقت کنید اولی در انتها فولدرهای package رو هم دارد ولی در کد برنامه فولدرهای package نیستند.
در مورد سوال دوم، این روش dynamic class loading است.
برای سوال سوم اگر این لینک ها بدردتون نخورد بعنوان سوال جدید مطرح کنید در خدمت هستم:
https://javabyab.com/2909/
https://javabyab.com/2907
سوال شده 9 سال قبل در برنامه نویسی توسط (10 امتیاز)
ویرایش شده 9 سال قبل توسط
لود کردن چندین فایل با پسوند class در جاوا
قبل توسط (10 امتیاز)
ببخشید من از روشی که شما گفتین استفاده کردم ولی در هنگام اجرا با این Exception مواجه میشم:
ClassNotFoundException "com.test.NewClass"
به نظرتون چرا؟

سوالات مشابه

0 امتیاز
1 پاسخ 525 بازدید
0 امتیاز
2 پاسخ 922 بازدید
+1 امتیاز
1 پاسخ 631 بازدید
0 امتیاز
0 پاسخ 422 بازدید
...