Tôi biết rằng chúng tôi có thể tải các lớp động bằng cách sử dụng trình nạp lớp tùy chỉnh. Nhưng ở đây vấn đề của tôi là lớp của tôi chính là phụ thuộc vào các lớp khácTải các lớp động từ jar
Nhiệm vụ của tôi là để có được đối tượng PigServer Vì vậy, tôi đã sử dụng mã sau đây để tải lớp PigServer
_pigServerClass = _classLoader.loadClass("org.apache.pig.PigServer");
Nhưng ở đây lớp PigServer chính nó là phụ thuộc khi có rất nhiều lớp khác.
Vì vậy, khi tôi đang cố gắng để có thể hiện của lớp PigServer sau đó nó được hiển thị lỗi sau
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
java.lang.ClassNotFoundException:org.apache.log4j.AppenderSkeleton
etc..
bất cứ ai có thể cho làm thế nào để giải quyết này?
Tôi đã tạo trình nạp lớp ..its lấy đường dẫn lớp và trả về ** _ customClassLoader = new URLClassLoader (url, PigClassLoader.class.getClassLoader()); ** –
mà trình nạp lớp của tôi đang hoạt động tốt. Thats y nó không hiển thị lớp không tìm thấy ngoại lệ cho PigServer Class –
Bạn có chắc chắn rằng commons-logging và log4j nằm trong classpath không? – Mirko