Как упаковать Java Agent как плагин Visual VM - PullRequest
1 голос
/ 30 июля 2010

Я написал агент Java вместе с графическим интерфейсом пользователя SWT для управления агентом.

http://wiki.github.com/mchr3k/org.intrace/

Я хочу упаковать эту библиотеку в плагин для VisualVM, чтобы агент мог быть присоединен к JVM с помощью VisualVM.

Я написал модуль Netbeans, чтобы сделать это прямо здесь:

http://github.com/mchr3k/org.intrace/tree/master/InTrace-VisualVM-Plugin/

Это работает, когда я запускаю проект из Netbeans.Однако, когда я использую «Создать NBM» для упаковки проекта, результирующая библиотека не может быть установлена ​​в VisualVM.Вывод из журнала выглядит следующим образом:

INFO [org.netbeans.modules.autoupdate.services.InstallSupportImpl]: Timeout waiting for loading module org.intrace.visualvm/1.0 
INFO [org.netbeans.modules.autoupdate.ui.wizards.InstallStep]: timeout of loading InTrace Launcher[org.intrace.visualvm/1.0] 
org.netbeans.api.autoupdate.OperationException: timeout of loading InTrace Launcher[org.intrace.visualvm/1.0] 
   at org.netbeans.modules.autoupdate.services.InstallSupportImpl$3.call(InstallSupportImpl.java:437) 
   at org.netbeans.modules.autoupdate.services.InstallSupportImpl$3.call(InstallSupportImpl.java:302) 
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
   at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) 
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) 
[catch] at java.lang.Thread.run(Thread.java:619) 

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

Я подозреваю, что проблема в том, что мне нужно что-то добавить в проект build.xml, но я изо всех сил пытаюсь решить, что.

http://github.com/mchr3k/org.intrace/blob/master/InTrace-VisualVM-Plugin/build.xml

Может кто-нибудь подсказать, что мне не хватает?

1 Ответ

2 голосов
/ 02 августа 2010

Позвольте мне угадать - вы используете NetBeans 6.9 для разработки и упаковки модуля, а затем пытаетесь загрузить его в VisualVM 1.2. * Или jvisualvm?Если это так, то вы только что столкнулись с проблемой совместимости, когда модули, предназначенные для платформы NetBeans 6.9, трудно установить, например.Приложение на основе NetBeans 6.8 (например, VisualVM 1.2. *).Это вызвано тем, что платформа NB6.9 сжимает / распаковывает фляги модуля с помощью pack200.

Чтобы нацелить модуль на более старую платформу (и все же собрать его, используя последнюю IDE), вам нужно вручную указать модульжгут, используемый платформой плагинов (перейдите в раздел «Инструменты / Платформы NetBeans /», а затем перейдите на вкладку «Жгут» и выберите жгут из бинарных файлов, которые можно загрузить здесь .

Когда вы перестраиваете модуль и создаете NBM, он должен работать в VisualVM 1.2. *, А также в jvisualvm.

...