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/