У меня проблема при загрузке файла JAR во время выполнения.
Мой hotel.jar загружен, и его метод (makeReservation) вызывается с использованием следующего кода:
File file = new File("c:/ComponentFiles/hotel.jar");
URL jarfile = new URL("jar", "", "file:" + file.getAbsolutePath() + "!/");
URLClassLoader cl = URLClassLoader.newInstance(new URL[]{jarfile});
Class componentClass = cl.loadClass("HotelPackage.HotelMgt");
Object componentObject = componentClass.newInstance();
Method setMethod = componentClass.getDeclaredMethod("makeReservation", null);
setMethod.invoke(componentObject, null);
Проблема в классе HotelPackage.HotelMgt моего файла JAR, у меня есть переменная класса другого класса (HotelPackage.Hotel), которая находится в другом файле JAR.
Я попытался открыть и загрузить другой файл JAR с тем же кодом, что и выше, но я получаю исключение, которое не может найти класс def .:
Исключение в потоке "main" java.lang.NoClassDefFoundError: BeanPackage / Hotel
в чем решение?