|
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 26
|
||||||||||||||||
Не могу разобраться что не так я делаю с ClassLoader19.06.2019, 10:04. Показов 2724. Ответов 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
Не могу понять что делаю не так Что я делаю не так? не могу посчитать % Не могу перемещать объекты, что делаю не так? Не могу понять, что не так делаю. Подскажите Задача на списки.Не могу понять,что делаю не так Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|