1

我编写了一个 Java 代理以及一个用于控制代理的 SWT GUI。

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

我想将此库打包到 VisualVM 的插件中,以允许使用 VisualVM 将代理附加到 JVM。

我在这里编写了一个 Netbeans 模块来执行此操作:

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

这在我从 Netbeans 运行项目时有效。但是,当我使用“创建 NBM”打包项目时,生成的库无法在 VisualVM 中安装。日志的输出如下:

INFO [org.netbeans.modules.autoupdate.services.InstallSupportImpl]:超时等待加载模块 org.intrace.visualvm/1.0
INFO [org.netbeans.modules.autoupdate.ui.wizards.InstallStep]:加载 InTrace Launcher [org.intrace.visualvm/1.0] 超时
org.netbeans.api.autoupdate.OperationException:加载 InTrace Launcher [org.intrace.visualvm/1.0] 超时
   在 org.netbeans.modules.autoupdate.services.InstallSupportImpl$3.call(InstallSupportImpl.java:437)
   在 org.netbeans.modules.autoupdate.services.InstallSupportImpl$3.call(InstallSupportImpl.java:302)
   在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
   在 java.util.concurrent.FutureTask.run(FutureTask.java:138)
   在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
   在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
[catch] 在 java.lang.Thread.run(Thread.java:619)

我还怀疑我的代理和客户端库没有打包到 nbm 文件中,因为它太小了。

我怀疑问题是我需要在项目 build.xml 中添加一些东西,但我正在努力解决什么问题。

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

谁能建议我缺少什么?

4

1 回答 1

2

让我猜一猜 - 您正在使用 NetBeans 6.9 开发和打包模块,然后您尝试在 VisualVM 1.2.* 或 jvisualvm 中加载它?如果是这种情况,您刚刚遇到了一个兼容性问题,即针对 NetBeans 6.9 平台的模块不容易安装在例如。基于 NetBeans 6.8 的应用程序(例如 VisualVM 1.2.*)。这是由 NB6.9 平台使用 pack200 压缩/解压缩模块 jar 引起的。

为了将模块定位到较旧的平台(并且仍然使用最新的 IDE 构建它),您需要手动指定插件平台使用的模块工具(转到“Tools/NetBeans Platforms/”,然后选择“Harness”选项卡并选择来自您可以在此处下载的二进制文件的工具。

当您重建模块并创建 NBM 时,它应该可以在 VisualVM 1.2.* 和 jvisualvm 中工作。

于 2010-08-02T07:37:21.613 回答