forum.bitel.ru
http://forum.bitel.ru/

Отладка динамических скриптов
http://forum.bitel.ru/viewtopic.php?f=19&t=11256
Страница 1 из 1

Автор:  Nyan [ 30 дек 2015, 16:42 ]
Заголовок сообщения:  Отладка динамических скриптов

Добрый день!

Столкнулся с необходимостью реализовать динамический скрипт. Скрипт для реализации взаимодействия модуля TV и кодировки CryptoGuard.

Вопрос встал в том, как производить отладку. Пробую настроить по инструкции http://wiki.bitel.ru/index.php/%D0%9E%D ... elliJ_IDEA .

Что я сделал. Скачал IntelliJ IDEA 10.5.4 Community Edition (похоже, что именно ее использует автор статьи, если судить по скриншоту в статье). Выполнил шаги 1-7. На этапе сборки ant ругается:

Код:
Buildfile: /home/user/IdeaProjects/bgbilling-test1/build.xml

clean:
   [delete] Deleting directory /home/user/IdeaProjects/bgbilling-test1/dist
   [delete] Deleting directory /home/user/IdeaProjects/bgbilling-test1/classes

prepare:
    [mkdir] Created dir: /home/user/IdeaProjects/bgbilling-test1/classes
    [mkdir] Created dir: /home/user/IdeaProjects/bgbilling-test1/dist

doWindows:

doUnix:
     [echo] Came into the Unix target

compile:
    [javac] Compiling 1 source file to /home/user/IdeaProjects/bgbilling-test1/classes
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:5: error: package bitel.billing.common does not exist
    [javac] import bitel.billing.common.BGException;
    [javac]                            ^
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:6: error: cannot find symbol
    [javac] import bitel.billing.server.ActionBase;
    [javac]                            ^
    [javac]   symbol:   class ActionBase
    [javac]   location: package bitel.billing.server
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:8: error: cannot find symbol
    [javac] public class ActionPreTariffing extends ActionBase
    [javac]                                         ^
    [javac]   symbol: class ActionBase
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:11: error: cannot find symbol
    [javac]     public void doAction() throws SQLException, BGException
    [javac]                                                 ^
    [javac]   symbol:   class BGException
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:13: error: cannot find symbol
    [javac]         final int cid = getIntParameter( "cid", -1 );
    [javac]                         ^
    [javac]   symbol:   method getIntParameter(String,int)
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:14: error: cannot find symbol
    [javac]         final int sid = getIntParameter( "sid", -1 );
    [javac]                         ^
    [javac]   symbol:   method getIntParameter(String,int)
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:15: error: cannot find symbol
    [javac]         final int type = getIntParameter( "type", -1 );
    [javac]                          ^
    [javac]   symbol:   method getIntParameter(String,int)
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:16: error: cannot find symbol
    [javac]         final int amount = getIntParameter( "amount", -1 );
    [javac]                            ^
    [javac]   symbol:   method getIntParameter(String,int)
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:19: error: cannot find symbol
    [javac]         final boolean isDebug = getBooleanParameter( "debug", false );
    [javac]                                 ^
    [javac]   symbol:   method getBooleanParameter(String,boolean)
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:24: error: cannot find symbol
    [javac]             rootNode.setAttribute( "cid", Integer.toString(cid) );
    [javac]             ^
    [javac]   symbol:   variable rootNode
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:25: error: cannot find symbol
    [javac]             rootNode.setAttribute( "sid", Integer.toString(sid) );
    [javac]             ^
    [javac]   symbol:   variable rootNode
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:26: error: cannot find symbol
    [javac]             rootNode.setAttribute( "type", Integer.toString(type) );
    [javac]             ^
    [javac]   symbol:   variable rootNode
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:27: error: cannot find symbol
    [javac]             rootNode.setAttribute( "amount", Integer.toString(amount) );
    [javac]             ^
    [javac]   symbol:   variable rootNode
    [javac]   location: class ActionPreTariffing
    [javac] /home/user/IdeaProjects/bgbilling-test1/src/bitel/billing/server/tariff/action/ActionPreTariffing.java:10: error: method does not override or implement a method from a supertype
    [javac]     @Override
    [javac]     ^
    [javac] 14 errors

BUILD FAILED
/home/user/IdeaProjects/bgbilling-test1/build.xml:75: Compile failed; see the compiler error output for details.



То есть такое чувство, что библиотеки биллинга не подцепились (пакет не найден bitel.billing.common, остальные ошибки скорее всего из-за того, что в новых версиях JAVA функцию переименовали или что-то вроде этого).

Прошу дать ответ на следующие вопросы:

1. Актуальна ли информация, приведенная в статье для версий биллинга 6.1 и java 1.7?

2. Подойдет ли описанный в статье метод для отладки класса OrderManager, или такой способ работает только для action? Если нет, то как быть? Не поверю, что разработчики всех тех динамических классов, которые поставляются с модулями пользовались одним лишь текстовым редактором.

Прошу сильно не пинать, если ошибка тривиальная, в JAVA я новичок.

Автор:  Nyan [ 30 дек 2015, 19:15 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

С ошибками разобрался. Проблема была в том, что компилятор не видел библиотек, в частности app/kernel.jar. Решилось копированием всех jar-файлов из каталогов lib/app/, lib/endorset/ и lib/ext/ в каталог lib/.

Остальные вопросы актуальны =)

Автор:  Phricker [ 30 дек 2015, 19:33 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

Цитата:
Не поверю, что разработчики всех тех динамических классов, которые поставляются с модулями пользовались одним лишь текстовым редактором.

Я IDEA пользуюсь.
В винде подключаю сетевой диск.
В проекте добавляю либы из /lib/ext и /lib/app и подключаю папку dyn как сорцы.
И все.

Автор:  Nyan [ 30 дек 2015, 19:53 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

А отладка? Хочется посмотреть дебаггером, какие параметры передаются, имея при этом окружение сервера.

Сейчас я дошел до того, что скомпилировал свой класс в jar-файл. Теперь (если опираться на инструкцию), нужно положить его на сервер, в каталог, откуда его возьмет биллинг, вместо скомпилированного сервером. А я вот не могу найти на сервере место, куда его нужно положить.

После этого IDEA подключается к биллингу, я ставлю точку останова и, когда вызывается мой класс, я могу использовать все преимущества отладчика IDEA. Можно так сделать, или это мечты?

Автор:  skyb [ 31 дек 2015, 06:42 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

чаще всего принтом отладку делаю, и чаще всего этого бывает достаточно

Автор:  Nyan [ 13 янв 2016, 20:16 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

Вот что получилось: http://blog.ansmirnov.ru/2016/01/13/BGB ... yptoguard/
Может, пригодится кому.

Автор:  Phricker [ 13 янв 2016, 20:48 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

А отлаживали как? Принтом?

Автор:  Nyan [ 14 янв 2016, 00:44 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

Phricker писал(а):
А отлаживали как? Принтом?


Да, записью в лог. Вроде, терпимо.

Автор:  skyb [ 14 янв 2016, 06:15 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

Nyan писал(а):
Вот что получилось: http://blog.ansmirnov.ru/2016/01/13/BGB ... yptoguard/
Может, пригодится кому.

Да лучше на вики выложить

Автор:  Nyan [ 14 янв 2016, 13:46 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

skyb писал(а):
Nyan писал(а):
Вот что получилось: http://blog.ansmirnov.ru/2016/01/13/BGB ... yptoguard/
Может, пригодится кому.

Да лучше на вики выложить


Это не окончательная версия, сильно ограниченная по функционалу. Будут новые версии, гист я обновлю, а про вики забуду (скорее всего).

Автор:  stark [ 20 янв 2016, 17:45 ]
Заголовок сообщения:  Re: Отладка динамических скриптов

Nyan писал(а):
skyb писал(а):
Nyan писал(а):
Вот что получилось: http://blog.ansmirnov.ru/2016/01/13/BGB ... yptoguard/
Может, пригодится кому.

Да лучше на вики выложить


Это не окончательная версия, сильно ограниченная по функционалу. Будут новые версии, гист я обновлю, а про вики забуду (скорее всего).


Ну компромиссный вариант , на вики сделать ссылку на гист. Я иногда там добавляю статью чтобы дать ссылку на форум.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/