|
|
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
Продолжение этой темы. Как только расширил функционал до поддержки пакетов, класс-лоудер вообще перестал работать. Exception in thread "main" java.lang.NoClassDefFoundError: C:\opt\testing/CreateOvertimeTest (wrong name: CreateOvertimeTest) Кроме того, JUnit-класс, который раньше спокойно отрабатывал из командной строки, теперь тоже вываливается. Отличие от первого рабочего варианта в том, что в проекте тестов классов теперь несколько, и они помещены в пакет. ВОПРОС. :) Что делать, чтобы заработал класс-лоудер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 10:46 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
alik-itsЧто делать, чтобы заработал класс-лоудер? - Скармливать ClassLoader-у имя класса, а не путь к файлу. - Читать исходный код классов ClassLoader и URLClassLoader, чтобы понять как они работают. В частности методы find*() - Найти звук "у" в транскрипции /ˈlōdər/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 10:56 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
Да ладно уж. Есть там маленько "у" http://wooordhunt.ru/word/loader ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 11:13 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakДа ладно уж. Есть там маленько "у" http://wooordhunt.ru/word/loader Ох, уж мне эти британцы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 11:24 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
Blazkowicz- Скармливать ClassLoader-у имя класса, а не путь к файлу. Тут-то всё нормально. Классы внутри пакетов не запускаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 13:37 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
alik-itsПродолжение этой темы. ... Почитал тему, тоже нифига не понял. Зачем нужен был свой classloader лично мне не понятно. alik-itsЛогика: класс-лоудер ищет вокруг себя тестовые классы и запускает их по очереди. может я конечно без очков, но где в приведенном коде: 1) ищет вокруг себя тестовые классы 2) запускает их по очереди я вообще не вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 13:55 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
alik-itsТут-то всё нормально. Классы внутри пакетов не запускаются. Ну, так, если всё нормально, зачем было тему создавать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 14:00 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevможет я конечно без очков, но где в приведенном коде: 1) ищет вокруг себя тестовые классы 2) запускает их по очереди я вообще не вижу В приведенном коде? Я и кода-то не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 14:02 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
alik-its Классы внутри пакетов не запускаются. Где тут пакет? (wrong name: CreateOvertimeTest) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 14:06 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevЗачем нужен был свой classloader лично мне не понятно. Это задача по автоматическому тестированию различных модулей веб-приложения. Есть большой развивающийся веб-проект, над которым работает маленькая группа программистов, сидящих в географически разных местах. Большой - потому что разросся за несколько лет. Добавили модуль - надо проверить, работает ли всё остальное. Загрузчик должен прокатить по всем тестам и вывести результаты в логи: что прошло, а что с ошибкой выпало. Тесты - классы JUnit+Selenium. Мне досталось делать этот загрузчик тестов. Текущий результат: класс, собранный отдельно - вне пакета - запускается, а класс (-ы), помещённый (-е) в пакет - нет. Вопрос - почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 14:10 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
BlazkowiczГде тут пакет? (wrong name: CreateOvertimeTest) О! Спасибо! Сейчас посмотрю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 14:11 |
|
||
|
Загрузчик классов вываливается на defineClass
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, и ещё раз спасибо! Всё работает. По ходу наткнулся на то, что replaceAll("\\", ".") не работает (именно в случае "\\"), работает replace("\\", "."). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 16:03 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39240051&tid=2124036]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 416ms |

| 0 / 0 |
