| Working On Java[TM] Management Extensions (JMX[TM)) Using NetBeans IDE | |
| README FIRST | |
| make/netbeans/README for getting started with NetBeans IDE and OpenJDK, | |
| and workings with OpenJDK NetBeans projects. | |
| This README focusses on working on the OpenJDK JMX API using NetBeans IDE. | |
| This NetBeans project for OpenJDK JMX allows you to modify, build, and test | |
| the JMX API in a standalone manner. It can also be used to generate | |
| the JMX API documentation for preview. | |
| The JMX API does not contain native code. It is a pure java library. | |
| You do not need to install all the Java SE sources to work on JMX, | |
| you only need the following subset: | |
| make/netbeans/ | |
| src/share/classes/com/sun/jmx/ | |
| src/share/classes/javax/management/ | |
| test/TEST.ROOT | |
| test/com/sun/management/ | |
| test/java/lang/management/ | |
| test/javax/management/ | |
| If you don't want to build the whole JDK, you will also need a | |
| pre-built version of OpenJDK (or JDK 7). Edit your | |
| $HOME/.openjdk/build.properties | |
| file (create it if you don't have one yet) and set the bootstrap.jdk variable | |
| point to that JDK: | |
| bootstrap.jdk=<JDK_7_HOME> | |
| Then from within NetBeans IDE open the JMX project, and invoke the | |
| "Build Project" and "Test Project" target. Note that running all the | |
| tests for JMX takes a while. The build may also fail if it doesn't | |
| find a directory named src/${platform}. This may happen if you haven't | |
| installed all OpenJDK sources. In this case, you can simply | |
| create an empty directory with the name expected by the build mechanism. | |
| Which tests are run are defined by the jtreg.test variable declared | |
| in make/netbeans/jmx/build.properties. Note that JMX tests are all | |
| placed under test/javax/management/. test/java/lang/management/ | |
| and test/com/sun/management/ contain some tests that happen to | |
| use JMX and we therefore recommend to run these tests too. | |
| If you are working on a JMX fix, don't forget to create a | |
| corresponding jtreg unit test under test/javax/management/. | |
| You can look at existing tests to see how this is done. | |
| The set of actions defined in this project are: | |
| * Build Project: | |
| - Compiles JMX API source files and puts the class files under | |
| build/${platform}-${arch}/classes. | |
| - Generates a JMX jar file under dist/lib/jmx.jar. To use your modified | |
| JMX classes instead of the built-in JDK classes you will need | |
| to put this jar file in front of the bootclasspath: | |
| java -Xbootclasspath/p:dist/lib/jmx.jar mytestapp.MyAppMainClass | |
| * Generate Javadoc for Project | |
| - Generates the JMX API Documentation under | |
| build/${platform}-${arch}/javadoc/jmx. | |
| * Test Project | |
| - Runs the JMX and Management and Monitoring jtreg unit tests. | |
| - The results are written under build/${platform}-${arch}/jtreg/jmx | |
| and the HTML test report can be found at | |
| build/${platform}-${arch}/jtreg/jmx/JTreport/report.html. | |
| * Clean Project | |
| - Cleans the files created by this projet under build/ | |
| Some files may remain. | |
| IMPORTANT NOTE | |
| Please make sure to follow carefully the governance rules documented at | |
| http://openjdk.dev.java.net/ | |