source: general/prog/openjdk.xml@ 55bcdd7

10.0 10.1 11.0 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus perl-modules qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 55bcdd7 was 55bcdd7, checked in by Pierre Labastie <pieere@…>, 4 years ago

Move the instructions to install the JAVA CA certificates to "Configuring the
JAVA environment" and host jtreg on anduin.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@19953 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 34.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY ojdk-tarball "jdk-&openjdk-version;+&openjdk-build;.tar.bz2">
8 <!ENTITY ojdk-repo "http://hg.openjdk.java.net/jdk-updates/jdk9u">
9 <!ENTITY ojdk-download "&ojdk-repo;/archive/&ojdk-tarball;">
10
11 <!ENTITY anduin-download "&sources-anduin-http;/OpenJDK/OpenJDK-&openjdk-version;">
12
13 <!ENTITY ojdk-md5sum "174205155c001cf0cc5d3250d86cfb69">
14 <!ENTITY ojdk-size "812 KB">
15
16 <!ENTITY corba-md5sum "dbc62e27a93686a9aea12e9c97c2f765">
17 <!ENTITY hotspot-md5sum "25853ba33123397b2e755249f102ae73">
18 <!ENTITY jaxp-md5sum "f5ab5e468565e1ab3a181d2efb45b51f">
19 <!ENTITY jaxws-md5sum "520ff49cb470fbcec2f46cbb3fdb377d">
20 <!ENTITY jdk-md5sum "be9f261b19451ab1300c5842188e3fe2">
21 <!ENTITY langtools-md5sum "22b65322d04c8ffafd77230dbe5f178f">
22 <!ENTITY nashorn-md5sum "729d03b0cede2f697ad77170a9d89095">
23 <!ENTITY total-download-size "83 MB">
24
25 <!ENTITY jtreg-version "4.2-b12-293">
26 <!ENTITY jtreg-download "&anduin-download;/jtreg-&jtreg-version;.tar.gz">
27 <!ENTITY jtreg-md5sum "806213d907d737ab49034344cd3df2cf">
28 <!ENTITY jtreg-size "7.3 MB">
29
30 <!ENTITY ojdk-bdsize "4.6 GB (additional 676 MB for tests)">
31 <!ENTITY ojdk-time "3.8 SBU with 4 jobs (additonal 12.1 SBU for tests with 4 jobs)">
32]>
33
34<sect1 id="openjdk" xreflabel="OpenJDK-&openjdk-version;">
35 <?dbhtml filename="openjdk.html" ?>
36
37 <sect1info>
38 <othername>$LastChangedBy$</othername>
39 <date>$Date$</date>
40 </sect1info>
41
42 <title>OpenJDK-&openjdk-version;</title>
43
44 <indexterm zone="openjdk">
45 <primary sortas="a-OpenJDK">OpenJDK</primary>
46 </indexterm>
47
48 <sect2 role="package">
49 <title>Introduction to OpenJDK</title>
50
51 <para>
52 <application>OpenJDK</application> is an open-source implementation
53 of Oracle's Java Standard Edition platform.
54 <application>OpenJDK</application> is useful for developing
55 <application>Java</application> programs, and provides a complete
56 runtime environment to run <application>Java</application> programs.
57 </para>
58
59 &lfs82_checked;
60
61 <note>
62 <para>
63 A browser plugin and webstart implementation is provided by the
64 Icedtea project. To provide a complete implementation, you will
65 need to later install <xref linkend="icedtea-web"/>.
66 </para>
67 </note>
68
69 <para>
70 OpenJDK is GPL'd code, with a special exception made for non-free
71 projects to use these classes in their proprietary products.
72 In similar fashion to the LGPL, which allows non-free programs to link
73 to libraries provided by free software, the
74 <ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU
75 General Public License, version 2, with the Classpath Exception</ulink>
76 allows third party programs to use classes provided by free software
77 without the requirement that the third party software also be free. As
78 with the LGPL, any modifications made to the free software portions of a
79 third party application, must also be made freely available.
80 </para>
81
82 <note>
83 <para>
84 The <application>OpenJDK</application> source includes a very
85 thorough, open source test suite using the
86 <application>JTreg</application> test harness. The testing instructions
87 below allow to test the just built JDK for reasonable compatibility
88 with the proprietary Oracle JDK. However, in order for an independent
89 implementation to claim compatibility, it must pass a proprietary
90 <application>JCK/TCK</application> test suite. No claims of
91 compatibility, even partial compatibility, may be made without passing
92 an approved test suite.
93 </para>
94
95 <para>
96 Oracle does provide free community access, on a case by case basis, to
97 a closed toolkit to ensure 100% compatibility with its proprietary JDK.
98 Neither the binary version provided on the <xref linkend="java"/> page
99 nor the JVM built with the instructions below have been tested against
100 the <ulink
101 url="http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html">
102 TCK</ulink>. Any version that is built using the instructions given,
103 cannot claim to be compatible with the proprietary JDK, without the
104 user applying for, and completing the compatibility tests themselves.
105 </para>
106
107 <para>
108 With that in mind, the binaries produced using this build method are
109 regularly tested against the TCK by the members listed on the site
110 above. In addition to the community license above, an educational,
111 non-commercial license for the TCK can be obtained from <ulink
112 url="http://www.oracle.com/technetwork/java/index-137188.html">
113 here</ulink>.
114 </para>
115 </note>
116
117 <bridgehead renderas="sect3">Package Information</bridgehead>
118 <itemizedlist spacing="compact">
119 <listitem>
120 <para>
121 Download (HTTP): <ulink url="&ojdk-download;"/>
122 </para>
123 </listitem>
124 <listitem>
125 <para>
126 Download (FTP): <ulink url=" "/>
127 </para>
128 </listitem>
129 <listitem>
130 <para>
131 Download MD5 sum: &ojdk-md5sum;
132 </para>
133 </listitem>
134 <listitem>
135 <para>
136 Download Size: &ojdk-size;
137 </para>
138 </listitem>
139 <listitem>
140 <para>
141 In addition to the root package, the instructions below first
142 download seven subproject tarballs, whose total size is
143 &total-download-size;.
144 </para>
145 </listitem>
146 <listitem>
147 <para>Estimated disk space required: &ojdk-bdsize;</para>
148 </listitem>
149 <listitem>
150 <para>Estimated build time: &ojdk-time;</para>
151 </listitem>
152 </itemizedlist>
153
154 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
155
156 <bridgehead renderas="sect4">Optional test harness</bridgehead>
157
158 <itemizedlist spacing='compact'>
159 <listitem>
160 <para>
161 <ulink url="&jtreg-download;"/>
162 </para>
163 </listitem>
164 <listitem>
165 <para>
166 Download MD5 sum: &jtreg-md5sum;
167 </para>
168 </listitem>
169 <listitem>
170 <para>
171 Download Size: &jtreg-size;
172 </para>
173 </listitem>
174 </itemizedlist>
175
176 <bridgehead renderas="sect3">OpenJDK Dependencies</bridgehead>
177
178 <bridgehead renderas="sect4">Required Dependencies</bridgehead>
179 <para role="required">
180 An existing binary (<xref linkend="java"/> or an earlier built
181 version of this package. The instructions below assume that
182 you are using <xref linkend="ojdk-conf"/>),
183 <xref linkend="alsa-lib"/>,
184 <xref linkend="cpio"/>,
185 <xref linkend="cups"/>,
186 <xref linkend="unzip"/>,
187 <xref linkend="which"/>,
188 <xref linkend="xorg7-lib"/>, and
189 <xref linkend="zip"/>
190 </para>
191
192 <bridgehead renderas="sect4">Recommended</bridgehead>
193 <para role="recommended">
194 <xref linkend="make-ca"/>,
195 <xref linkend="giflib"/>,
196 <xref linkend="lcms2"/>,
197 <xref linkend="libjpeg"/>,
198 <xref linkend="libpng"/>, and
199 <xref linkend="wget"/>
200 </para>
201
202 <bridgehead renderas="sect4">Optional</bridgehead>
203 <para role="optional">
204 <xref linkend="mercurial"/> and
205 an X Window manager such as <xref linkend="twm"/> (for the tests)
206 </para>
207
208 <para condition="html" role="usernotes">User Notes:
209 <ulink url="&blfs-wiki;/openjdk"/></para>
210
211 </sect2>
212
213 <sect2 role="installation">
214 <title>Installation of OpenJDK</title>
215
216 <para>
217 Unlike other packages in BLFS, the <application>OpenJDK</application>
218 source packages are distributed in multiple tarballs. You need to first
219 extract the source root from <filename>&ojdk-tarball;</filename>, change
220 into the extracted directory, then proceed with the following
221 instructions:
222 </para>
223
224<screen><userinput>cat &gt; subprojects.md5 &lt;&lt; EOF &amp;&amp;
225&corba-md5sum; corba.tar.bz2
226&hotspot-md5sum; hotspot.tar.bz2
227&jaxp-md5sum; jaxp.tar.bz2
228&jaxws-md5sum; jaxws.tar.bz2
229&jdk-md5sum; jdk.tar.bz2
230&langtools-md5sum; langtools.tar.bz2
231&nashorn-md5sum; nashorn.tar.bz2
232EOF
233
234for subproject in corba hotspot jaxp jaxws jdk langtools nashorn; do
235
236 wget -c &ojdk-repo;/${subproject}/archive/&ojdk-tarball; \
237 -O ${subproject}.tar.bz2
238done &amp;&amp;
239
240md5sum -c subprojects.md5 &amp;&amp;
241
242for subproject in corba hotspot jaxp jaxws jdk langtools nashorn; do
243 mkdir -pv ${subproject} &amp;&amp;
244 tar -xf ${subproject}.tar.bz2 --strip-components=1 -C ${subproject}
245done</userinput></screen>
246
247 <para>
248 If you have downloaded the optional test harness, unpack it too:
249 </para>
250
251<screen><userinput>tar -xf ../jtreg-&jtreg-version;.tar.gz</userinput></screen>
252
253 <note>
254 <para>
255 Before proceeding, you should ensure that your environment
256 <envar>PATH</envar> variable contains the location of the Java
257 compiler used for bootstrapping <application>OpenJDK</application>.
258 This is the only requirement for the environment. Modern Java
259 installations do not need <envar>JAVA_HOME</envar> and
260 <envar>CLASSPATH</envar> is not used here. Furthermore, OpenJDK
261 developers recommend to unset <envar>JAVA_HOME</envar>.
262 </para>
263
264 <para>
265 The build system does not support the <option>-j</option> switch in
266 <envar>MAKEFLAGS</envar>.
267 </para>
268 </note>
269
270 <para>
271 Configure and build the package with the following commands
272 (--with-milestone value can be modified to fit user preferences):
273 </para>
274
275<screen><userinput>unset JAVA_HOME &amp;&amp;
276bash configure --enable-unlimited-crypto \
277 --disable-warnings-as-errors \
278 --with-stdc++lib=dynamic \
279 --with-giflib=system \
280 --with-jtreg=$PWD/jtreg \
281 --with-lcms=system \
282 --with-libjpeg=system \
283 --with-libpng=system \
284 --with-zlib=system \
285 --with-version-build="11" \
286 --with-version-pre="" \
287 --with-version-opt="" \
288 --with-cacerts-file=/etc/ssl/java/cacerts.jks &amp;&amp;
289make images</userinput></screen>
290
291 <note>
292 <para>
293 By default, the build system will use (NUMCPU - 1) jobs. To
294 override, set <envar>JOBS=&lt;X&gt;</envar> on make invocation.
295 </para>
296 </note>
297
298 <para>
299 To test the results, issue: <command>make run-test-tier1</command>. Seven
300 tests are expected to fail, and 11 to error when building only the server
301 target. You can limit the number of concurrent tests by setting
302 <envar>JTREG="JOBS=&lt;X&gt;"</envar> where &lt;X&gt; is the number of
303 jobs.
304 </para>
305
306 <para>Install the package with the following commands as the
307 <systemitem class="username">root</systemitem> user:</para>
308
309<screen role="root"><userinput>install -vdm755 /opt/jdk-&openjdk-version;+&openjdk-build; &amp;&amp;
310cp -Rv build/*/images/jdk/* /opt/jdk-&openjdk-version;+&openjdk-build; &amp;&amp;
311chown -R root:root /opt/jdk-&openjdk-version;+&openjdk-build; &amp;&amp;
312find /opt/jdk-&openjdk-version;+&openjdk-build; -name \*.diz -delete &amp;&amp;
313for s in 16 24 32 48; do
314 install -Dm 644 jdk/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
315 /usr/share/icons/hicolor/${s}x${s}/apps/java9.png
316done
317</userinput></screen>
318
319 <note>
320 <para>
321 If you only wish to install the Java Runtime Environment, you can
322 substitute <filename>build/*/images/jre</filename> in the above
323 <command>cp</command> command.
324 </para>
325 </note>
326
327 <para>
328 There are now two <application>OpenJDK</application> SDKs installed
329 in <filename class="directory">/opt</filename>. You should decide on
330 which one you would like to use as the default. Normally, you would opt
331 for the just installed <application>OpenJDK</application>. If so, do
332 the following as the <systemitem class="username">root</systemitem>
333 user:
334 </para>
335
336<screen role="root"><userinput>ln -v -nsf jdk-&openjdk-version;+&openjdk-build; /opt/jdk</userinput></screen>
337
338 <para>
339 If desired, you may create .desktop files to add entries
340 in the menu for <command>java</command>, <command>policytool</command>,
341 and <command>jconsole</command>. The needed icons have already been
342 installed. As the <systemitem class="username">root</systemitem> user:
343 </para>
344
345<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
346
347cat &gt; /usr/share/applications/openjdk-9-java.desktop &lt;&lt; "EOF" &amp;&amp;
348<literal>[Desktop Entry]
349Name=OpenJDK Java 9 Runtime
350Comment=OpenJDK Java 9 Runtime
351Exec=/opt/jdk/bin/java -jar
352Terminal=false
353Type=Application
354Icon=java9
355MimeType=application/x-java-archive;application/java-archive;application/x-jar;
356NoDisplay=true</literal>
357EOF
358
359cat &gt; /usr/share/applications/openjdk-9-policytool.desktop &lt;&lt; "EOF" &amp;&amp;
360<literal>[Desktop Entry]
361Name=OpenJDK Java 9 Policy Tool
362Name[pt_BR]=OpenJDK Java 9 - Ferramenta de Pol&#237;tica
363Comment=OpenJDK Java 9 Policy Tool
364Comment[pt_BR]=OpenJDK Java 9 - Ferramenta de Pol&#237;tica
365Exec=/opt/jdk/bin/policytool
366Terminal=false
367Type=Application
368Icon=java9
369Categories=Settings;</literal>
370EOF
371
372cat &gt; /usr/share/applications/openjdk-9-jconsole.desktop &lt;&lt; "EOF"
373<literal>[Desktop Entry]
374Name=OpenJDK Java 9 Console
375Comment=OpenJDK Java 9 Console
376Keywords=java;console;monotoring
377Exec=/opt/jdk/bin/jconsole
378Terminal=false
379Type=Application
380Icon=java9
381Categories=Application;System;</literal>
382EOF</userinput></screen>
383
384 <para>
385 The choice of pt_BR is just an example. You can add any translation
386 by adding lines corresponding to your locale, e.g. for fr_FR,
387 <quote>Name[fr_FR]=</quote> and <quote>Comment[fr_FR]=</quote> with the
388 appropriate text as values.
389 </para>
390
391 </sect2>
392
393 <sect2 role="commands">
394 <title>Command Explanations</title>
395
396 <para>
397 <command>bash configure...</command>: the top level
398 <filename>configure</filename> is a wrapper around the autotools one.
399 It is not executable and must be run through <command>bash</command>.
400 </para>
401
402 <para>
403 <parameter>--enable-unlimited-crypto</parameter>: Because of limitations
404 on the usage of cryptography in some countries, there is the possibility
405 to limit the size of encryption keys and the use of some algorithms in a
406 policy file. This switch allows to ship a policy file with no
407 restriction. It is the responsibility of the user to ensure proper
408 adherence to the law.
409 </para>
410
411 <para>
412 <parameter>--disable-warnings-as-errors</parameter>: This switch disables
413 use of <envar>-Werror</envar> in the build.
414 </para>
415
416 <para>
417 <parameter>--with-stdc++lib=dynamic</parameter>: This switch forces the
418 build system to link to <filename>libstdc++.so</filename> (dynamic)
419 instead of <filename>libstdc++.a</filename> (static).
420 </para>
421
422 <para>
423 <parameter>--with-jtreg=$PWD/jtreg</parameter>: This switch tells
424 configure where to find jtreg. Omit if you have not downloaded the
425 optional test suite.
426 </para>
427
428 <para>
429 <parameter>--with-{giflib,lcms,libjpeg,libpng,zlib}=system</parameter>:
430 These switches force the build system to use the system libraries instead
431 of the bundled versions.
432 </para>
433
434 <para>
435 <parameter>--with-version-build</parameter>: Currently, the build
436 system does not include the build number in the version string. It has
437 to be specified here.
438 </para>
439
440 <para>
441 <parameter>--with-version-pre</parameter>: This switch allows you to
442 prefix the version string with a custom string.
443 </para>
444
445 <para>
446 <parameter>--with-version-opt</parameter>: This switch allows you to add
447 an optional build description to the version string.
448 </para>
449
450 <para>
451 <parameter>--with-cacerts-file=/etc/ssl/java/cacerts.jks</parameter>:
452 Specifies where to find a <filename>cacerts</filename> file,
453 <filename>/etc/ssl/java/</filename> on a BLFS system. Otherwise, an empty
454 one is created. You can use the
455 <command>/usr/sbin/make-ca --force</command> command to generate it, once
456 you have installed the Java binaries.
457 </para>
458
459 <para>
460 <option>--with-boot-jdk</option>: This switch provides the
461 location of the temporary <application>JDK</application>. It is normally
462 not needed if <command>java</command> is found in the <envar>PATH</envar>.
463 </para>
464
465 <para>
466 <command>find ... -iname '*.diz' -delete</command>: This command
467 removes redundant files.
468 </para>
469
470 </sect2>
471
472 <sect2 role="configuration"
473 id="openjdk-config"
474 xreflabel="Configuring OpenJDK">
475 <title>Configuring OpenJDK</title>
476
477 <sect3>
478 <title>Configuration Information</title>
479
480 <para>
481 Normally, the JAVA environment has been configured after installing
482 the binary version, and can be used with the just built package as well.
483 Review <xref linkend="ojdk-conf"/> in case you want to modify
484 something.
485 </para>
486
487 <para>
488 To test if the man pages are correctly installed, issue
489 <command>source /etc/profile</command> and <command>man java</command>
490 to display the respective man page.
491 </para>
492
493 </sect3>
494
495 <sect3>
496 <title>
497 Settting up the JRE Certificate Authority Certificates (cacerts) file
498 </title>
499
500 <para>
501 If you have run the instructions for <xref linkend="ojdk-certs"/>,
502 you only need to create a symlink in the default location for
503 those certificates. As user <systemitem
504 class="username">root</systemitem>:
505 </para>
506
507<screen role="root"><userinput>ln -sfv /etc/ssl/java/cacerts.jks /opt/jdk/lib/security/cacerts</userinput></screen>
508
509 <para>
510 To check the installatiion, as when <xref linkend="ojdk-certs"/>, issue:
511 </para>
512
513<screen role="root"><userinput>cd /opt/jdk
514bin/keytool -list -cacerts</userinput></screen>
515
516 </sect3>
517
518 </sect2>
519
520 <sect2 role="content">
521 <title>Contents</title>
522
523 <segmentedlist>
524 <segtitle>Installed Programs</segtitle>
525 <segtitle>Installed Libraries</segtitle>
526 <segtitle>Installed Directory</segtitle>
527
528 <seglistitem>
529 <seg>appletviewer, extcheck, idlj, jar,
530 jarsigner, java, javac, javadoc, javah, javap, java-rmi.cgi,
531 jcmd, jconsole, jdb, jdeps, jhat, jinfo, jjs, jmap, jps,
532 jrunscript, jsadebugd, jstack, jstat, jstatd, keytool,
533 native2ascii, orbd, pack200, policytool, rmic, rmid, rmiregistry,
534 schemagen, serialver, servertool, tnameserv, unpack200,
535 wsgen, wsimport, and xjc</seg>
536 <seg>/opt/OpenJDK-&openjdk-version;/lib/*, and
537 /opt/OpenJDK-&openjdk-version;/jre/lib/*</seg>
538 <seg>/opt/OpenJDK-&openjdk-version;</seg>
539 </seglistitem>
540 </segmentedlist>
541
542 <variablelist>
543 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
544 <?dbfo list-presentation="list"?>
545 <?dbhtml list-presentation="table"?>
546
547 <varlistentry id="appletviewer">
548 <term><command>appletviewer</command></term>
549 <listitem>
550 <para>allows to run applets outside of a web browser.</para>
551 <indexterm zone="openjdk appletviewer">
552 <primary sortas="b-appletviewer">appletviewer</primary>
553 </indexterm>
554 </listitem>
555 </varlistentry>
556
557 <varlistentry id="extcheck">
558 <term><command>extcheck</command></term>
559 <listitem>
560 <para>checks a specified jar file for title and version conflicts
561 with any extensions installed in the
562 <application>OpenJDK</application> software.</para>
563 <indexterm zone="openjdk extcheck">
564 <primary sortas="b-extcheck">extcheck</primary>
565 </indexterm>
566 </listitem>
567 </varlistentry>
568
569 <varlistentry id="idlj">
570 <term><command>idlj</command></term>
571 <listitem>
572 <para>generates Java bindings from a given IDL file.</para>
573 <indexterm zone="openjdk idlj">
574 <primary sortas="b-idlj">idlj</primary>
575 </indexterm>
576 </listitem>
577 </varlistentry>
578
579 <varlistentry id="jar">
580 <term><command>jar</command></term>
581 <listitem>
582 <para>combines multiple files into a single jar archive.</para>
583 <indexterm zone="openjdk jar">
584 <primary sortas="b-jar">jar</primary>
585 </indexterm>
586 </listitem>
587 </varlistentry>
588
589 <varlistentry id="jarsigner">
590 <term><command>jarsigner</command></term>
591 <listitem>
592 <para>signs jar files and verifies the signatures and integrity
593 of a signed jar file.</para>
594 <indexterm zone="openjdk jarsigner">
595 <primary sortas="b-jarsigner">jarsigner</primary>
596 </indexterm>
597 </listitem>
598 </varlistentry>
599
600 <varlistentry id="java-prog">
601 <term><command>java</command></term>
602 <listitem>
603 <para>launches a Java application by starting a Java runtime
604 environment, loading a specified class and invoking its main
605 method.</para>
606 <indexterm zone="openjdk java-prog">
607 <primary sortas="b-java-prog">java</primary>
608 </indexterm>
609 </listitem>
610 </varlistentry>
611
612 <varlistentry id="javac">
613 <term><command>javac</command></term>
614 <listitem>
615 <para>reads class and interface definitions, written in the
616 Java programming language, and compiles them into bytecode
617 class files.</para>
618 <indexterm zone="openjdk javac">
619 <primary sortas="b-javac">javac</primary>
620 </indexterm>
621 </listitem>
622 </varlistentry>
623
624 <varlistentry id="javadoc">
625 <term><command>javadoc</command></term>
626 <listitem>
627 <para>parses the declarations and documentation comments in a
628 set of Java source files and produces a corresponding set of
629 HTML pages describing the classes, interfaces, constructors,
630 methods, and fields.</para>
631 <indexterm zone="openjdk javadoc">
632 <primary sortas="b-javadoc">javadoc</primary>
633 </indexterm>
634 </listitem>
635 </varlistentry>
636
637 <varlistentry id="javah">
638 <term><command>javah</command></term>
639 <listitem>
640 <para>generates C header and source files
641 that are needed to implement native methods.</para>
642 <indexterm zone="openjdk javah">
643 <primary sortas="b-javah">javah</primary>
644 </indexterm>
645 </listitem>
646 </varlistentry>
647
648 <varlistentry id="javap">
649 <term><command>javap</command></term>
650 <listitem>
651 <para>disassembles a Java class file.</para>
652 <indexterm zone="openjdk javap">
653 <primary sortas="b-javap">javap</primary>
654 </indexterm>
655 </listitem>
656 </varlistentry>
657
658 <varlistentry id="java-rmi.cgi">
659 <term><command>java-rmi.cgi</command></term>
660 <listitem>
661 <para>is the Java RMI client.</para>
662 <indexterm zone="openjdk java-rmi.cgi">
663 <primary sortas="b-java-rmi.cgi">java-rmi.cgi</primary>
664 </indexterm>
665 </listitem>
666 </varlistentry>
667
668 <varlistentry id="jcmd">
669 <term><command>jcmd</command></term>
670 <listitem>
671 <para>is a utility to send diagnostic command requests to a running
672 Java Virtual Machine.</para>
673 <indexterm zone="openjdk jcmd">
674 <primary sortas="b-jcmd">jcmd</primary>
675 </indexterm>
676 </listitem>
677 </varlistentry>
678
679 <varlistentry id="jconsole">
680 <term><command>jconsole</command></term>
681 <listitem>
682 <para>is a graphical console tool to monitor and manage both
683 local and remote Java applications and virtual machines.</para>
684 <indexterm zone="openjdk jconsole">
685 <primary sortas="b-jconsole">jconsole</primary>
686 </indexterm>
687 </listitem>
688 </varlistentry>
689
690 <varlistentry id="jdb">
691 <term><command>jdb</command></term>
692 <listitem>
693 <para>is a simple command-line debugger for Java classes.</para>
694 <indexterm zone="openjdk jdb">
695 <primary sortas="b-jdb">jdb</primary>
696 </indexterm>
697 </listitem>
698 </varlistentry>
699
700 <varlistentry id="jdeps">
701 <term><command>jdeps</command></term>
702 <listitem>
703 <para>shows the package-level or class-level dependencies of
704 Java class files.</para>
705 <indexterm zone="openjdk jdeps">
706 <primary sortas="b-jdeps">jdeps</primary>
707 </indexterm>
708 </listitem>
709 </varlistentry>
710
711 <varlistentry id="jhat">
712 <term><command>jhat</command></term>
713 <listitem>
714 <para>parses a java heap dump file and allows viewing it
715 in a web browser.</para>
716 <indexterm zone="openjdk jhat">
717 <primary sortas="b-jhat">jhat</primary>
718 </indexterm>
719 </listitem>
720 </varlistentry>
721
722 <varlistentry id="jinfo">
723 <term><command>jinfo</command></term>
724 <listitem>
725 <para>prints Java configuration information for a given Java
726 process, core file, or a remote debug server.</para>
727 <indexterm zone="openjdk jinfo">
728 <primary sortas="b-jinfo">jinfo</primary>
729 </indexterm>
730 </listitem>
731 </varlistentry>
732
733 <varlistentry id="jjs">
734 <term><command>jjs</command></term>
735 <listitem>
736 <para>is a command-line tool used to invoke the Nashorn engine. It
737 can be used to interpret one or several script files, or to run
738 an interactive shell.</para>
739 <indexterm zone="openjdk jjs">
740 <primary sortas="b-jjs">jjs</primary>
741 </indexterm>
742 </listitem>
743 </varlistentry>
744
745 <varlistentry id="jmap">
746 <term><command>jmap</command></term>
747 <listitem>
748 <para>prints shared object memory maps or heap memory details
749 of a given process, core file, or a remote debug server.</para>
750 <indexterm zone="openjdk jmap">
751 <primary sortas="b-jmap">jmap</primary>
752 </indexterm>
753 </listitem>
754 </varlistentry>
755
756 <varlistentry id="jps">
757 <term><command>jps</command></term>
758 <listitem>
759 <para>lists the instrumented JVMs on the target system.</para>
760 <indexterm zone="openjdk jps">
761 <primary sortas="b-jps">jps</primary>
762 </indexterm>
763 </listitem>
764 </varlistentry>
765
766 <varlistentry id="jrunscript">
767 <term><command>jrunscript</command></term>
768 <listitem>
769 <para>is a command line script shell.</para>
770 <indexterm zone="openjdk jrunscript">
771 <primary sortas="b-jrunscript">jrunscript</primary>
772 </indexterm>
773 </listitem>
774 </varlistentry>
775
776 <varlistentry id="jsadebugd">
777 <term><command>jsadebugd</command></term>
778 <listitem>
779 <para>attaches to a Java process or core file and acts as a
780 debug server.</para>
781 <indexterm zone="openjdk jsadebugd">
782 <primary sortas="b-jsadebugd">jsadebugd</primary>
783 </indexterm>
784 </listitem>
785 </varlistentry>
786
787 <varlistentry id="jstack">
788 <term><command>jstack</command></term>
789 <listitem>
790 <para>prints Java stack traces of Java threads for a given
791 Java process, core file, or a remote debug server.</para>
792 <indexterm zone="openjdk jstack">
793 <primary sortas="b-jstack">jstack</primary>
794 </indexterm>
795 </listitem>
796 </varlistentry>
797
798 <varlistentry id="jstat">
799 <term><command>jstat</command></term>
800 <listitem>
801 <para>displays performance statistics for an instrumented JVM.</para>
802 <indexterm zone="openjdk jstat">
803 <primary sortas="b-jstat">jstat</primary>
804 </indexterm>
805 </listitem>
806 </varlistentry>
807
808 <varlistentry id="jstatd">
809 <term><command>jstatd</command></term>
810 <listitem>
811 <para>is an RMI server application that monitors for the creation
812 and termination of instrumented JVMs.</para>
813 <indexterm zone="openjdk jstatd">
814 <primary sortas="b-jstatd">jstatd</primary>
815 </indexterm>
816 </listitem>
817 </varlistentry>
818
819 <varlistentry id="keytool">
820 <term><command>keytool</command></term>
821 <listitem>
822 <para>is a key and certificate management utility.</para>
823 <indexterm zone="openjdk keytool">
824 <primary sortas="b-keytool">keytool</primary>
825 </indexterm>
826 </listitem>
827 </varlistentry>
828
829 <varlistentry id="native2ascii">
830 <term><command>native2ascii</command></term>
831 <listitem>
832 <para> converts files that contain non-supported character encoding
833 into files containing Latin-1 or Unicode-encoded characters.</para>
834 <indexterm zone="openjdk native2ascii">
835 <primary sortas="b-native2ascii">native2ascii</primary>
836 </indexterm>
837 </listitem>
838 </varlistentry>
839
840 <varlistentry id="orbd">
841 <term><command>orbd</command></term>
842 <listitem>
843 <para>is used to enable clients to transparently locate and invoke
844 persistent objects on servers in the CORBA environment.</para>
845 <indexterm zone="openjdk orbd">
846 <primary sortas="b-orbd">orbd</primary>
847 </indexterm>
848 </listitem>
849 </varlistentry>
850
851 <varlistentry id="pack200">
852 <term><command>pack200</command></term>
853 <listitem>
854 <para>is a Java application that transforms a jar file into a
855 compressed pack200 file using the Java gzip compressor.</para>
856 <indexterm zone="openjdk pack200">
857 <primary sortas="b-pack200">pack200</primary>
858 </indexterm>
859 </listitem>
860 </varlistentry>
861
862 <varlistentry id="policytool">
863 <term><command>policytool</command></term>
864 <listitem>
865 <para>creates and manages a policy file graphically.</para>
866 <indexterm zone="openjdk policytool">
867 <primary sortas="b-policytool">policytool</primary>
868 </indexterm>
869 </listitem>
870 </varlistentry>
871
872 <varlistentry id="rmic">
873 <term><command>rmic</command></term>
874 <listitem>
875 <para>generates stub and skeleton class files for remote objects
876 from the names of compiled Java classes that contain remote
877 object implementations.</para>
878 <indexterm zone="openjdk rmic">
879 <primary sortas="b-rmic">rmic</primary>
880 </indexterm>
881 </listitem>
882 </varlistentry>
883
884 <varlistentry id="rmid">
885 <term><command>rmid</command></term>
886 <listitem>
887 <para>starts the activation system daemon.</para>
888 <indexterm zone="openjdk rmid">
889 <primary sortas="b-rmid">rmid</primary>
890 </indexterm>
891 </listitem>
892 </varlistentry>
893
894 <varlistentry id="rmiregistry">
895 <term><command>rmiregistry</command></term>
896 <listitem>
897 <para>creates and starts a remote object registry on the specified
898 port on the current host.</para>
899 <indexterm zone="openjdk rmiregistry">
900 <primary sortas="b-rmiregistry">rmiregistry</primary>
901 </indexterm>
902 </listitem>
903 </varlistentry>
904
905 <varlistentry id="schemagen">
906 <term><command>schemagen</command></term>
907 <listitem>
908 <para>is a Java XML binding schema generator.</para>
909 <indexterm zone="openjdk schemagen">
910 <primary sortas="b-schemagen">schemagen</primary>
911 </indexterm>
912 </listitem>
913 </varlistentry>
914
915 <varlistentry id="serialver">
916 <term><command>serialver</command></term>
917 <listitem>
918 <para>returns the serialVersionUID for one or more classes in a
919 form suitable for copying into an evolving class.</para>
920 <indexterm zone="openjdk serialver">
921 <primary sortas="b-serialver">serialver</primary>
922 </indexterm>
923 </listitem>
924 </varlistentry>
925
926 <varlistentry id="servertool">
927 <term><command>servertool</command></term>
928 <listitem>
929 <para>provides an ease-of-use interface for application programmers
930 to register, unregister, startup and shutdown a server.</para>
931 <indexterm zone="openjdk servertool">
932 <primary sortas="b-servertool">servertool</primary>
933 </indexterm>
934 </listitem>
935 </varlistentry>
936
937 <varlistentry id="tnameserv">
938 <term><command>tnameserv</command></term>
939 <listitem>
940 <para>starts the Java IDL name server.</para>
941 <indexterm zone="openjdk tnameserv">
942 <primary sortas="b-tnameserv">tnameserv</primary>
943 </indexterm>
944 </listitem>
945 </varlistentry>
946
947 <varlistentry id="unpack200">
948 <term><command>unpack200</command></term>
949 <listitem>
950 <para>is a native implementation that transforms a packed file
951 produced by <application>pack200</application> into a jar
952 file.</para>
953 <indexterm zone="openjdk unpack200">
954 <primary sortas="b-unpack200">unpack200</primary>
955 </indexterm>
956 </listitem>
957 </varlistentry>
958
959 <varlistentry id="wsgen">
960 <term><command>wsgen</command></term>
961 <listitem>
962 <para>generates JAX-WS portable artifacts used in JAX-WS
963 web services.</para>
964 <indexterm zone="openjdk wsgen">
965 <primary sortas="b-wsgen">wsgen</primary>
966 </indexterm>
967 </listitem>
968 </varlistentry>
969
970 <varlistentry id="wsimport">
971 <term><command>wsimport</command></term>
972 <listitem>
973 <para>generates JAX-WS portable artifacts.</para>
974 <indexterm zone="openjdk wsimport">
975 <primary sortas="b-wsimport">wsimport</primary>
976 </indexterm>
977 </listitem>
978 </varlistentry>
979
980 <varlistentry id="xjc">
981 <term><command>xjc</command></term>
982 <listitem>
983 <para>is a Java XML binding compiler.</para>
984 <indexterm zone="openjdk xjc">
985 <primary sortas="b-xjc">xjc</primary>
986 </indexterm>
987 </listitem>
988 </varlistentry>
989
990 </variablelist>
991
992 </sect2>
993
994</sect1>
Note: See TracBrowser for help on using the repository browser.