手动编译VisualVM源码

最近项目需要JVM监控功能,用来监控整个十二五下规划下所有的系统运行情况。上网了解分析了一下发现VisualVM是个很好的工具,Oracle JDK 6 Update 7以后中也作为JDK的一部分发布。而且支持N多插件。可见其实力不俗。

VisualVM 目前最新版本1.3.8.项目地址为:https://visualvm.java.net/。下面来手动编译VisualVM源码。

1、当然是下载源码了。VisaulVM源码以SVN方式提供。1.3.8源码SVN地址如下:https://svn.java.net/svn/visualvm~svn/branches/release138



visualvm文件夹下为工程源码,其他的为国际化、插件等。checkout后如下:



2、用Ant编译visualvm文件夹下build.xml。发现报错如下:
D:\visualVMs\VisualVM_1.3.8\visualvm>ant
Buildfile: D:\visualVMs\VisualVM_1.3.8\visualvm\build.xml

BUILD FAILED
D:\visualVMs\VisualVM_1.3.8\visualvm\build.xml:7: The following error occurred w
hile executing this line:
D:\visualVMs\VisualVM_1.3.8\visualvm\nbproject\build-impl.xml:19: You must defin
e 'nbplatform.VisualVM_platform.harness.dir'

Total time: 0 seconds

说没定义nbplatform.VisualVM_platform.harness.dir。上网找了一圈,最后还是在官方文档上看见一句话:
To build the visualvm core tool you need the NetBeans 8.0 platform and profiler binaries available here. These binaries must be extracted into the release138/visualvm directory. You can use ant run or ant build-zip to build or run VisualVM.

原来VisualVM依赖于NetBeans8.0平台。下载一个netbeas平台解压到visualvm目录,如图:



NetBeans8.0平台下载地址:https://java.net/projects/visualvm/downloads/download/dev/nb80_visualvm_27062014.zip

3、再次执行ant build 命令进行编译,没有报上面的错误了。但编译报错,找不到com.sun.tools.attach包。该包明明在jdk_home/lib/tools.jar下。后来发现原来我系统的JAVA_HOME是C:\Program Files\Java\jre1.8.0_65。是JRE路径,而不是JDK路径。JRE下没有tools.jar包。
直接把JDK/lib下的tools.jar复制到 JRE/lib/下。问题解决。

4、运行 ant build 编译成功。 ant run 运行,出现了VisualVM界面。




猜你喜欢

转载自elvis4139.iteye.com/blog/2273322