blob: 4e6c0e14a3b3d8abea05164f0b827af1b98f0896 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001Working On Java[TM] Management Extensions (JMX[TM)) Using NetBeans IDE
2
3README FIRST
4
5 make/netbeans/README for getting started with NetBeans IDE and OpenJDK,
6 and workings with OpenJDK NetBeans projects.
7
8This README focusses on working on the OpenJDK JMX API using NetBeans IDE.
9
10 This NetBeans project for OpenJDK JMX allows you to modify, build, and test
11 the JMX API in a standalone manner. It can also be used to generate
12 the JMX API documentation for preview.
13
14 The JMX API does not contain native code. It is a pure java library.
15 You do not need to install all the Java SE sources to work on JMX,
16 you only need the following subset:
17
18 make/netbeans/
19 src/share/classes/com/sun/jmx/
20 src/share/classes/javax/management/
21 test/TEST.ROOT
22 test/com/sun/management/
23 test/java/lang/management/
24 test/javax/management/
25
26 If you don't want to build the whole JDK, you will also need a
27 pre-built version of OpenJDK (or JDK 7). Edit your
28
29 $HOME/.openjdk/build.properties
30
31 file (create it if you don't have one yet) and set the bootstrap.jdk variable
32 point to that JDK:
33
34 bootstrap.jdk=<JDK_7_HOME>
35
36 Then from within NetBeans IDE open the JMX project, and invoke the
37 "Build Project" and "Test Project" target. Note that running all the
38 tests for JMX takes a while. The build may also fail if it doesn't
39 find a directory named src/${platform}. This may happen if you haven't
40 installed all OpenJDK sources. In this case, you can simply
41 create an empty directory with the name expected by the build mechanism.
42
43 Which tests are run are defined by the jtreg.test variable declared
44 in make/netbeans/jmx/build.properties. Note that JMX tests are all
45 placed under test/javax/management/. test/java/lang/management/
46 and test/com/sun/management/ contain some tests that happen to
47 use JMX and we therefore recommend to run these tests too.
48
49 If you are working on a JMX fix, don't forget to create a
50 corresponding jtreg unit test under test/javax/management/.
51 You can look at existing tests to see how this is done.
52
53The set of actions defined in this project are:
54
55* Build Project:
56
57 - Compiles JMX API source files and puts the class files under
58 build/${platform}-${arch}/classes.
59
60 - Generates a JMX jar file under dist/lib/jmx.jar. To use your modified
61 JMX classes instead of the built-in JDK classes you will need
62 to put this jar file in front of the bootclasspath:
63
64 java -Xbootclasspath/p:dist/lib/jmx.jar mytestapp.MyAppMainClass
65
66* Generate Javadoc for Project
67
68 - Generates the JMX API Documentation under
69
70 build/${platform}-${arch}/javadoc/jmx.
71
72* Test Project
73
74 - Runs the JMX and Management and Monitoring jtreg unit tests.
75
76 - The results are written under build/${platform}-${arch}/jtreg/jmx
77 and the HTML test report can be found at
78 build/${platform}-${arch}/jtreg/jmx/JTreport/report.html.
79
80* Clean Project
81
82 - Cleans the files created by this projet under build/
83 Some files may remain.
84
85
86IMPORTANT NOTE
87
88 Please make sure to follow carefully the governance rules documented at
89 http://openjdk.dev.java.net/
90