![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
alder |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 2.5.2006 Репутация: нет Всего: нет |
необходимо загрузить класс и вызвать его метод
чтобы все ето проделать делаю следующее:
все замечательно работает, НО только если вызываемый метод статичный (в данном случае getReportName) для того чтобы вызвать не статичный метод я так понимаю нужно вызвать метод newInstance() который на выходе дает Object а как у него вызвать нужный мне метод???? или Как можно вызвать не статичный метод??? |
|||
|
||||
skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 2 Всего: 7 |
Пробуй newInstance(), просто приведи Object к классу,которому тебе надо, тогда вызывай методы, какие нужно.
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
alder |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 2.5.2006 Репутация: нет Всего: нет |
спасибо
|
|||
|
||||
allex |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 5.9.2005 Репутация: нет Всего: нет |
А если className заранее неизвестен и привести к нему не получится, тогда надо передать результат newInstance первым параметром в invoke. Второй параметр invoke - массив параметров вызываемого метода.
|
|||
|
||||
alder |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 2.5.2006 Репутация: нет Всего: нет |
ситуция сейчас такая, из локального приложения загружаю класс вызываю нужный метод и все работает на отлично, если то же самое проделываю из веб приложения то вылетает ексепшн
java.lang.reflect.InvocationTargetException как мне кажется оно вылетает иза того что могут быть не подключены некоторые jar-ники, но проверил подключил все что необходимо... изза чего еще может вылетать такой ексепшн??? добавлю что он вылетает при вызове метода invoke
Добавлено @ 11:52 почитал ex.getCause() это выдало следующее: java.lang.NoClassDefFoundError: org/ras/scmstat/client/ServiceAccess ServiceAccess — это класс через который я осуществляю доступ к ыеб службе, он у меня входит в то самое веб приложение в которм я загружаю класс... почему он его не видит?? и как его можно подключить... |
|||
|
||||
alder |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 2.5.2006 Репутация: нет Всего: нет |
разобрался, как мне подсказали надо было сделать еще вот ето: В URLClassLoader.newInstance надо было передать родительский загручик вторым аргументом. Хотя бы this.getClass().getClassLoader()
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |