|
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 26
|
||||||||||||||||
Не могу разобраться что не так я делаю с ClassLoader19.06.2019, 10:04. Показов 2716. Ответов 13
Метки classloader (Все метки)
Всем привет, помогите пожалуйста разобраться, что я не так сделал, задача такая: Создать наследника класса ClassLoader, который сможет загружать классы не только из classpath, но и из сторонней директории, имя которой передается через функции., я реализовал это все, но запускаю программу в Demo классе, всегда вылетают исключения, то не находит файл в директории, то неправильное имя файла, хотя файл реально есть в директории, пересмотрел уже кучу статей, но так и не смог разобраться.
Код из файлов ниже:
0
|
||||||||||||||||
| 19.06.2019, 10:04 | |
|
Ответы с готовыми решениями:
13
не могу разобраться что делаю не так! Пытаюсь разобраться T-sql, подскажите что я делаю не так Не могу понять, что я делаю не так |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 19.06.2019, 10:39 | |
|
Wnmaster88, во-первых покажи ошибку.
Во-вторых код написал мягко сказать хреново. Прежде чем грузить класс, надо узнать не может ли он быть загружен кем то из родителей NPE не кидай никогда С исключениями надо что-то делать кроме того чтобы их просто писать и проглатывать. Писание класс лоадеров пордазумевает некий уровень понимания что ты делаешь и общий опыт. Похоже это не твой случай.
1
|
|
|
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 26
|
|||||||||||
| 19.06.2019, 10:47 [ТС] | |||||||||||
|
Вот код ошибки, это если полный путь передавать:
0
|
|||||||||||
|
Заблокирован
|
||||||
| 19.06.2019, 11:04 | ||||||
|
Wnmaster88, а вот так не проще?
Wnmaster88, есть еще URLClassLoader, он может грузить по адресу класс.
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 26
|
|
| 19.06.2019, 11:13 [ТС] | |
|
Возможно как ВЫ пишите так и проще или использовать URLClassLoader, но я думаю, что если я так буду это делать, то тесты по задаче не пройдут, нужно делать строго по условию.
0
|
|
|
Заблокирован
|
|
| 19.06.2019, 11:57 | |
|
Wnmaster88, а какая задача(цель) у вашей программы?
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 26
|
|
| 19.06.2019, 12:00 [ТС] | |
|
Задача: Создать наследника класса ClassLoader, который сможет загружать классы не только из classpath, но и из сторонней директории, имя которой передается через функции.
0
|
|
|
Заблокирован
|
|
| 19.06.2019, 12:00 | |
|
Wnmaster88, как я понял, вам надо загружать классы из определенной папки?
0
|
|
| 19.06.2019, 12:01 | |
|
Не по теме: del
1
|
|
|
Заблокирован
|
|
| 19.06.2019, 12:14 | |
|
Wnmaster88, с помощью URLClassLoader это можно сделать. Я уже говорил об этом. Какой смысл новый класс делать и наследовать его, делая много лишнего кода? Цель данного действия скажите. Если цели нет, то и задача будет считаться нецелесообразной, а если нет цели у нее, то и помогать вам смысла не вижу. Извините за прямоту, просто хочу вам помочь советом. Сам потретил кучу времени на такие нецелесообразные задачи. )
Добавлено через 4 минуты Wnmaster88, если цель- просто наследовать класс от загрузчика классов+чтобы можно было делать его действия, то просто наследуйтесь от URLClassLoader и оставьте пустой класс, загружать сможете из определенной папки также, как это делает класс, от которого наследовались. Делов-то на минуту, но зато какой лайфхак, экономящий кучу времени. Добавлено через 6 минут URLClassLoader лучше ClassLoader, сразу вам будет огромное наследство, примерно как в реальной жизни- вы не будете к бедной жене приставать, а сразу к богатой, у которой все есть и не надо уже ничего делать. Java имеет огромные возможности по эмуляции реального мира, пользуйтесь этим)) Добавлено через 1 минуту Wnmaster88, могу показать решение вашей задачи, если не поняли.
1
|
|
|
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 26
|
|
| 19.06.2019, 12:15 [ТС] | |
|
trgbvs,как я понимаю, цель просто наследовать класс от загрузчика классов, чтобы с его помощью можно было делать загрузку классов из определенной папки. Значит попробую сделать как Вы советуете и отправить на проверку, а там посмотрю уже по ответу.
Спасибо.
0
|
|
|
Заблокирован
|
||||||
| 19.06.2019, 12:39 | ||||||
Сообщение было отмечено Wnmaster88 как решение
Решение
Wnmaster88, если это задачи учебного заведения, то я не удивляюсь, потому-что все они нецелесообразные и имейте ввиду, что суть программирования вы не поймете, я советую вникать самому во все, так как вам просто забивают мозг и заставляют городить много лишнего кода вместо того, чтобы банально подумать головой, что такой класс уже написан официальными разработчиками явы и можно просто наследоваться от него и выполнять все его методы, которые могут загружать класс из папки. Попробуйте так, как я сказал сделать, этот метод рабочий, а если не пройдет- это будет лишним доказательством несостоятельности и бездарности тех, кто проверял задачу. Я не сомневаюсь, что у них даже Нетбинса нет, хотя могу ошибаться, может и нормальные люди, которые проверят задачу в среде разработки.
Добавлено через 10 минут Wnmaster88, если что, вот так сделал-бы я:
Wnmaster88, и можем грузить классы по адресу с помощью уже класса с SergeyClassLoader. ) Добавлено через 4 минуты Wnmaster88, если все-таки решитесь писать заново все это, наследовавшись от ClassLoader, то без меня, так как я против того, чтобы забивать новичку голову, мне гораздо приятнее смотреть на тех, кто думает своей головой и ищет легкие решения. ) Добавлено через 5 минут Wnmaster88, потом отпишите обязательно, мне интересно, чем закончится. )
1
|
||||||
|
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 26
|
|
| 19.06.2019, 12:47 [ТС] | |
|
trgbns, спасибо, да, как будет ответ, отпишусь, но не факт что это будет сегодня, там проверяют не сразу.
0
|
|
|
Заблокирован
|
|
| 19.06.2019, 12:51 | |
|
Wnmaster88, хорошо, желаю вам успехов. Это конечно необычное решение, но главное, чтобы решало задачу и соответствовало условиям. У вас условие- наследоваться от класслоадера и сделать так,чтобы загружать классы из папки. Следовательно мое решение является верным, хоть и немного хитрым и наглым, а в нашем мире по-другому никак, сами-же знаете. ))
0
|
|
| 19.06.2019, 12:51 | |
|
Помогаю со студенческими работами здесь
14
Не могу понять что делаю не так Что я делаю не так? не могу посчитать % Не могу перемещать объекты, что делаю не так? Не могу понять, что не так делаю. Подскажите Задача на списки.Не могу понять,что делаю не так Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|