|
1 Working On Java[TM] Management Extensions (JMX[TM)) Using NetBeans IDE |
|
2 |
|
3 README FIRST |
|
4 |
|
5 make/netbeans/README for getting started with NetBeans IDE and OpenJDK, |
|
6 and workings with OpenJDK NetBeans projects. |
|
7 |
|
8 This 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 |
|
53 The 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 |
|
86 IMPORTANT NOTE |
|
87 |
|
88 Please make sure to follow carefully the governance rules documented at |
|
89 http://openjdk.dev.java.net/ |
|
90 |