Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Загрузчик классов вываливается на defineClass / 13 сообщений из 13, страница 1 из 1
20.05.2016, 10:46
    #39239792
alik-its
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
Продолжение этой темы.
Как только расширил функционал до поддержки пакетов, класс-лоудер вообще перестал работать.
Exception in thread "main" java.lang.NoClassDefFoundError: C:\opt\testing/CreateOvertimeTest (wrong name: CreateOvertimeTest)
Кроме того, JUnit-класс, который раньше спокойно отрабатывал из командной строки, теперь тоже вываливается.
Отличие от первого рабочего варианта в том, что в проекте тестов классов теперь несколько, и они помещены в пакет.

ВОПРОС. :)
Что делать, чтобы заработал класс-лоудер?
...
Рейтинг: 0 / 0
20.05.2016, 10:56
    #39239804
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
alik-itsЧто делать, чтобы заработал класс-лоудер?
- Скармливать ClassLoader-у имя класса, а не путь к файлу.
- Читать исходный код классов ClassLoader и URLClassLoader, чтобы понять как они работают. В частности методы find*()
- Найти звук "у" в транскрипции /ˈlōdər/
...
Рейтинг: 0 / 0
20.05.2016, 11:13
    #39239819
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
Да ладно уж. Есть там маленько "у"
http://wooordhunt.ru/word/loader
...
Рейтинг: 0 / 0
20.05.2016, 11:24
    #39239830
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
Alexander A. SakДа ладно уж. Есть там маленько "у"
http://wooordhunt.ru/word/loader
Ох, уж мне эти британцы.
...
Рейтинг: 0 / 0
20.05.2016, 13:37
    #39240020
alik-its
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
Blazkowicz- Скармливать ClassLoader-у имя класса, а не путь к файлу.
Тут-то всё нормально. Классы внутри пакетов не запускаются.
...
Рейтинг: 0 / 0
20.05.2016, 13:55
    #39240039
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
alik-itsПродолжение этой темы.
...

Почитал тему, тоже нифига не понял. Зачем нужен был свой classloader лично мне не понятно.

alik-itsЛогика: класс-лоудер ищет вокруг себя тестовые классы и запускает их по очереди.

может я конечно без очков, но где в приведенном коде:
1) ищет вокруг себя тестовые классы
2) запускает их по очереди
я вообще не вижу
...
Рейтинг: 0 / 0
20.05.2016, 14:00
    #39240045
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
alik-itsТут-то всё нормально. Классы внутри пакетов не запускаются.
Ну, так, если всё нормально, зачем было тему создавать?
...
Рейтинг: 0 / 0
20.05.2016, 14:02
    #39240046
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
Leonid Kudryavtsevможет я конечно без очков, но где в приведенном коде:
1) ищет вокруг себя тестовые классы
2) запускает их по очереди
я вообще не вижу
В приведенном коде? Я и кода-то не вижу.
...
Рейтинг: 0 / 0
20.05.2016, 14:06
    #39240051
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
alik-its Классы внутри пакетов не запускаются.
Где тут пакет? (wrong name: CreateOvertimeTest)
...
Рейтинг: 0 / 0
20.05.2016, 14:10
    #39240056
alik-its
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
Leonid KudryavtsevЗачем нужен был свой classloader лично мне не понятно.
Это задача по автоматическому тестированию различных модулей веб-приложения.
Есть большой развивающийся веб-проект, над которым работает маленькая группа программистов,
сидящих в географически разных местах. Большой - потому что разросся за несколько лет.

Добавили модуль - надо проверить, работает ли всё остальное.
Загрузчик должен прокатить по всем тестам и вывести результаты в логи:
что прошло, а что с ошибкой выпало.
Тесты - классы JUnit+Selenium.

Мне досталось делать этот загрузчик тестов.

Текущий результат: класс, собранный отдельно - вне пакета - запускается,
а класс (-ы), помещённый (-е) в пакет - нет.
Вопрос - почему?
...
Рейтинг: 0 / 0
20.05.2016, 14:11
    #39240059
alik-its
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
BlazkowiczГде тут пакет? (wrong name: CreateOvertimeTest)
О! Спасибо!
Сейчас посмотрю...
...
Рейтинг: 0 / 0
20.05.2016, 16:03
    #39240215
alik-its
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
Blazkowicz, и ещё раз спасибо! Всё работает.

По ходу наткнулся на то, что replaceAll("\\", ".") не работает (именно в случае "\\"),
работает replace("\\", ".").
...
Рейтинг: 0 / 0
20.05.2016, 19:42
    #39240406
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузчик классов вываливается на defineClass
alik-its,

Потому что документацию надо читать к каждому методу который вы используете в первый разв
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Загрузчик классов вываливается на defineClass / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]