`
elvis4139
  • 浏览: 145069 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

手动编译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界面。




  • 大小: 56.7 KB
  • 大小: 16.2 KB
  • 大小: 57.6 KB
  • 大小: 68.6 KB
分享到:
评论

相关推荐

    Java小程序

    从"源码"这个标签来看,我们可能会讨论到如何阅读和理解Java小程序的源代码。源代码是程序的原始形式,由人类可读的编程语句组成。理解Java源码有助于我们学习类、对象、方法、变量等概念,以及类的继承、多态、封装...

    eclipse 项目分析 报告也行

    每个项目都有一个独立的目录结构,包括源代码文件、编译后的类文件、库引用、项目设置文件(.project和.classpath)等。理解项目结构有助于高效地管理和维护代码。 1. `.project` 文件:这是Eclipse项目的元数据...

    Java的一些资料

    - 编译器:Java Development Kit (JDK) 包含了Java编译器`javac`,用于将源代码编译成可执行的字节码。 - 调试器:Java Debug Interface (JDI) 和Integrated Development Environments (IDEs) 提供了强大的调试...

    Java工具

    JDK包含了Java编译器javac,它将源代码转换为可执行的字节码。此外,JDK还提供了JVM(Java Virtual Machine)用于运行Java程序,以及JRE(Java Runtime Environment),它是运行Java应用程序所必需的基础组件。 在...

    精通 Java_JDK

    当你编写完`.java`源文件后,`javac`会将这些源代码编译成`.class`字节码文件,这是Java虚拟机能够执行的二进制形式。编译过程包括词法分析、语法分析、语义分析和代码生成等步骤。 2. **Java虚拟机(JVM)**:JVM是...

    jdk1.8.0_112

    - **编译**:使用`javac`命令将源代码编译成.class字节码文件。 - **运行**:使用`java`命令执行编译后的字节码文件,运行Java程序。 - **调试**:利用JDK提供的JDB调试工具或者IDE内置的调试功能,进行程序调试...

    JDK-Linux-32位

    如果要从源代码编译并运行,可以先用`javac HelloWorld.java`编译,再运行。 7. **调试Java应用** JDK自带的`jdb`是简单的命令行调试器,可进行断点设置、单步执行等基本调试操作。高级调试通常使用IDE内置的调试...

    Java开发软件工具包

    1. **编译器**:Java的官方编译器是Javac,它将源代码(.java文件)转换为字节码(.class文件),这是Java虚拟机(JVM)能够理解和执行的语言。编译过程是将高级语言转化为机器可理解的形式,确保代码的正确运行。 ...

    JVM—java虚拟机.pptx

    - **字节码执行**:Java源代码首先通过javac编译成字节码(.class文件),然后由JVM的解释器读取并转化为机器码执行。为了提高效率,JVM还使用了Just-In-Time(JIT)编译器,将频繁执行的热点代码编译为本地机器码...

    JDK32解压版免安装

    1. **Java编译器 (javac)**:这是用于将源代码编译成可执行的Java字节码的工具,使得Java程序可以在任何支持Java的平台上运行。 2. **Java解释器 (java)**:解释器负责执行编译后的字节码,使得Java程序能够在不同...

    优雅的工作方式(一)——欢迎拍砖

    2. **自动化工具**:利用构建工具如Maven或Gradle自动化编译、测试和打包过程,减少手动操作。 3. **版本控制工具**:如Git,用于版本管理,协同开发。 4. **持续集成/持续部署(CI/CD)**:如Jenkins、Travis CI,...

    javajdk for 64位

    1. **Java编译器(javac)**:这是将源代码(.java文件)编译成字节码(.class文件)的工具,使得Java程序可以在任何支持JVM的平台上运行。 2. **Java解释器(java)**:用于执行编译后的字节码,使Java应用程序...

    j2sdk-1_4_2_19-windows-i586-p 安装程序

    1. **Java编译器**:J2SDK中的javac命令行工具,用于将Java源代码(.java文件)编译成Java字节码(.class文件),这些字节码可以在任何支持Java的平台上运行,实现了“一次编写,到处运行”的理念。 2. **Java运行...

    java虚拟机

    4. 类文件格式:Java源代码被编译成字节码,这是一种二进制格式,包含常量池、字段、方法、属性等信息。这种格式保证了Java的跨平台性。 5. 内存管理:JVM负责垃圾回收(Garbage Collection, GC),自动管理堆内存...

    java小工具

    9. **API文档生成器**:Javadoc可以自动从源代码中提取注释,生成规范的API文档。 10. **代码混淆工具**:ProGuard或R8用于优化和保护Java应用,尤其是在发布时进行代码混淆,防止反编译。 uesetup.exe的安装过程...

    JDK-8 安装包,windows 64位

    例如,使用`javac MyProgram.java`编译源代码,`java MyProgram`运行程序。 **7. 性能优化** JDK 8引入了G1垃圾收集器,提高了内存管理的效率。同时,JDK的JVM还包含其他性能优化工具,如`jconsole`和`visualvm`,...

    jdk1.7 64位

    1. **Java编译器**(javac):这个命令行工具将源代码编译成字节码,这是Java程序运行的基本单元。Java编译器遵循JDK版本所支持的语言规范,例如在JDK 1.7中引入了钻石操作符()和try-with-resources语句等新特性。...

    apache-tomcat-8.5.70.tar.gz.rar

    源码分析有助于开发者调试问题,学习Java Web服务器的实现,并且可以在需要时编译自己的Tomcat版本。 在部署和使用Apache Tomcat时,通常会遵循以下步骤: 1. **解压**:首先,需要解压缩下载的".tar.gz"文件,...

    java 虚拟机 教程 pdf

    Java源代码经过编译器转化为字节码,这是一种平台无关的中间表示。JVM通过解释器将字节码转化为机器指令执行,同时,现代JVM如HotSpot还包含了即时编译器(JIT),能将频繁执行的字节码编译为本地机器码,以提高运行...

    jdk-8u11-windows-x64.exe

    1. **开发Java程序**:使用JDK 8u11提供的javac编译器,可以将源代码编译成字节码,然后通过java虚拟机执行。 2. **调试工具**:JDK附带的JDB和VisualVM等调试工具,可以帮助开发者定位和解决问题。 3. **构建工具...

Global site tag (gtag.js) - Google Analytics