source: general/prog/openjdk.xml@ d133d429

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

Minor correction in OpenJDK, to be closer to the template, too

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

  • Property mode set to 100644
File size: 35.6 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">
26 <!ENTITY jtreg-download "https://ci.adoptopenjdk.net/view/all/job/jtreg/lastSuccessfulBuild/artifact/jtreg-&jtreg-version;.tar.gz">
27 <!ENTITY jtreg-md5sum "d9869a852006397df454e904ef1f3ea2">
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 substitue <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 id='ojdk-certs' xreflabel='JRE Certificate Authority Certificates'>
496 <title>Install or update the JRE Certificate Authority Certificates
497 (cacerts) file</title>
498
499 <para>
500 <application>OpenJDK</application> uses its own format for the
501 CA certificates. Those certificates are located in a file named
502 <filename>/etc/ssl/java/cacerts.jks</filename>. That file should be
503 generated using the system PKI trust store. The instructions
504 on the <xref linkend="make-ca"/> page should be used to update the file
505 located in <filename>/etc/ssl/java</filename>. Run the conversion and
506 setup a symlink in the default location as the <systemitem
507 class="username">root</systemitem> user:
508 </para>
509
510<screen role="root"><userinput>/usr/sbin/make-ca --force &amp;&amp;
511ln -sfv /etc/ssl/java/cacerts.jks /opt/jdk/lib/security/cacerts</userinput></screen>
512
513 <para>
514 Use the following commands to check if the <filename>cacerts</filename>
515 file has been successfully installed:
516 </para>
517
518<screen role="root"><userinput>cd /opt/jdk
519bin/keytool -list -keystore /etc/ssl/java/cacerts</userinput></screen>
520
521 <para>
522 At the prompt "Enter keystore password:", enter "changeit" (the
523 default). If the <filename>cacerts</filename> file was installed
524 correctly, you will see a list of the certificates with related
525 information for each one. If not, you need to reinstall them.
526 </para>
527
528 </sect3>
529
530 </sect2>
531
532 <sect2 role="content">
533 <title>Contents</title>
534
535 <segmentedlist>
536 <segtitle>Installed Programs</segtitle>
537 <segtitle>Installed Libraries</segtitle>
538 <segtitle>Installed Directory</segtitle>
539
540 <seglistitem>
541 <seg>appletviewer, extcheck, idlj, jar,
542 jarsigner, java, javac, javadoc, javah, javap, java-rmi.cgi,
543 jcmd, jconsole, jdb, jdeps, jhat, jinfo, jjs, jmap, jps,
544 jrunscript, jsadebugd, jstack, jstat, jstatd, keytool,
545 native2ascii, orbd, pack200, policytool, rmic, rmid, rmiregistry,
546 schemagen, serialver, servertool, tnameserv, unpack200,
547 wsgen, wsimport, and xjc</seg>
548 <seg>/opt/OpenJDK-&openjdk-version;/lib/*, and
549 /opt/OpenJDK-&openjdk-version;/jre/lib/*</seg>
550 <seg>/opt/OpenJDK-&openjdk-version;</seg>
551 </seglistitem>
552 </segmentedlist>
553
554 <variablelist>
555 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
556 <?dbfo list-presentation="list"?>
557 <?dbhtml list-presentation="table"?>
558
559 <varlistentry id="appletviewer">
560 <term><command>appletviewer</command></term>
561 <listitem>
562 <para>allows to run applets outside of a web browser.</para>
563 <indexterm zone="openjdk appletviewer">
564 <primary sortas="b-appletviewer">appletviewer</primary>
565 </indexterm>
566 </listitem>
567 </varlistentry>
568
569 <varlistentry id="extcheck">
570 <term><command>extcheck</command></term>
571 <listitem>
572 <para>checks a specified jar file for title and version conflicts
573 with any extensions installed in the
574 <application>OpenJDK</application> software.</para>
575 <indexterm zone="openjdk extcheck">
576 <primary sortas="b-extcheck">extcheck</primary>
577 </indexterm>
578 </listitem>
579 </varlistentry>
580
581 <varlistentry id="idlj">
582 <term><command>idlj</command></term>
583 <listitem>
584 <para>generates Java bindings from a given IDL file.</para>
585 <indexterm zone="openjdk idlj">
586 <primary sortas="b-idlj">idlj</primary>
587 </indexterm>
588 </listitem>
589 </varlistentry>
590
591 <varlistentry id="jar">
592 <term><command>jar</command></term>
593 <listitem>
594 <para>combines multiple files into a single jar archive.</para>
595 <indexterm zone="openjdk jar">
596 <primary sortas="b-jar">jar</primary>
597 </indexterm>
598 </listitem>
599 </varlistentry>
600
601 <varlistentry id="jarsigner">
602 <term><command>jarsigner</command></term>
603 <listitem>
604 <para>signs jar files and verifies the signatures and integrity
605 of a signed jar file.</para>
606 <indexterm zone="openjdk jarsigner">
607 <primary sortas="b-jarsigner">jarsigner</primary>
608 </indexterm>
609 </listitem>
610 </varlistentry>
611
612 <varlistentry id="java-prog">
613 <term><command>java</command></term>
614 <listitem>
615 <para>launches a Java application by starting a Java runtime
616 environment, loading a specified class and invoking its main
617 method.</para>
618 <indexterm zone="openjdk java-prog">
619 <primary sortas="b-java-prog">java</primary>
620 </indexterm>
621 </listitem>
622 </varlistentry>
623
624 <varlistentry id="javac">
625 <term><command>javac</command></term>
626 <listitem>
627 <para>reads class and interface definitions, written in the
628 Java programming language, and compiles them into bytecode
629 class files.</para>
630 <indexterm zone="openjdk javac">
631 <primary sortas="b-javac">javac</primary>
632 </indexterm>
633 </listitem>
634 </varlistentry>
635
636 <varlistentry id="javadoc">
637 <term><command>javadoc</command></term>
638 <listitem>
639 <para>parses the declarations and documentation comments in a
640 set of Java source files and produces a corresponding set of
641 HTML pages describing the classes, interfaces, constructors,
642 methods, and fields.</para>
643 <indexterm zone="openjdk javadoc">
644 <primary sortas="b-javadoc">javadoc</primary>
645 </indexterm>
646 </listitem>
647 </varlistentry>
648
649 <varlistentry id="javah">
650 <term><command>javah</command></term>
651 <listitem>
652 <para>generates C header and source files
653 that are needed to implement native methods.</para>
654 <indexterm zone="openjdk javah">
655 <primary sortas="b-javah">javah</primary>
656 </indexterm>
657 </listitem>
658 </varlistentry>
659
660 <varlistentry id="javap">
661 <term><command>javap</command></term>
662 <listitem>
663 <para>disassembles a Java class file.</para>
664 <indexterm zone="openjdk javap">
665 <primary sortas="b-javap">javap</primary>
666 </indexterm>
667 </listitem>
668 </varlistentry>
669
670 <varlistentry id="java-rmi.cgi">
671 <term><command>java-rmi.cgi</command></term>
672 <listitem>
673 <para>is the Java RMI client.</para>
674 <indexterm zone="openjdk java-rmi.cgi">
675 <primary sortas="b-java-rmi.cgi">java-rmi.cgi</primary>
676 </indexterm>
677 </listitem>
678 </varlistentry>
679
680 <varlistentry id="jcmd">
681 <term><command>jcmd</command></term>
682 <listitem>
683 <para>is a utility to send diagnostic command requests to a running
684 Java Virtual Machine.</para>
685 <indexterm zone="openjdk jcmd">
686 <primary sortas="b-jcmd">jcmd</primary>
687 </indexterm>
688 </listitem>
689 </varlistentry>
690
691 <varlistentry id="jconsole">
692 <term><command>jconsole</command></term>
693 <listitem>
694 <para>is a graphical console tool to monitor and manage both
695 local and remote Java applications and virtual machines.</para>
696 <indexterm zone="openjdk jconsole">
697 <primary sortas="b-jconsole">jconsole</primary>
698 </indexterm>
699 </listitem>
700 </varlistentry>
701
702 <varlistentry id="jdb">
703 <term><command>jdb</command></term>
704 <listitem>
705 <para>is a simple command-line debugger for Java classes.</para>
706 <indexterm zone="openjdk jdb">
707 <primary sortas="b-jdb">jdb</primary>
708 </indexterm>
709 </listitem>
710 </varlistentry>
711
712 <varlistentry id="jdeps">
713 <term><command>jdeps</command></term>
714 <listitem>
715 <para>shows the package-level or class-level dependencies of
716 Java class files.</para>
717 <indexterm zone="openjdk jdeps">
718 <primary sortas="b-jdeps">jdeps</primary>
719 </indexterm>
720 </listitem>
721 </varlistentry>
722
723 <varlistentry id="jhat">
724 <term><command>jhat</command></term>
725 <listitem>
726 <para>parses a java heap dump file and allows viewing it
727 in a web browser.</para>
728 <indexterm zone="openjdk jhat">
729 <primary sortas="b-jhat">jhat</primary>
730 </indexterm>
731 </listitem>
732 </varlistentry>
733
734 <varlistentry id="jinfo">
735 <term><command>jinfo</command></term>
736 <listitem>
737 <para>prints Java configuration information for a given Java
738 process, core file, or a remote debug server.</para>
739 <indexterm zone="openjdk jinfo">
740 <primary sortas="b-jinfo">jinfo</primary>
741 </indexterm>
742 </listitem>
743 </varlistentry>
744
745 <varlistentry id="jjs">
746 <term><command>jjs</command></term>
747 <listitem>
748 <para>is a command-line tool used to invoke the Nashorn engine. It
749 can be used to interpret one or several script files, or to run
750 an interactive shell.</para>
751 <indexterm zone="openjdk jjs">
752 <primary sortas="b-jjs">jjs</primary>
753 </indexterm>
754 </listitem>
755 </varlistentry>
756
757 <varlistentry id="jmap">
758 <term><command>jmap</command></term>
759 <listitem>
760 <para>prints shared object memory maps or heap memory details
761 of a given process, core file, or a remote debug server.</para>
762 <indexterm zone="openjdk jmap">
763 <primary sortas="b-jmap">jmap</primary>
764 </indexterm>
765 </listitem>
766 </varlistentry>
767
768 <varlistentry id="jps">
769 <term><command>jps</command></term>
770 <listitem>
771 <para>lists the instrumented JVMs on the target system.</para>
772 <indexterm zone="openjdk jps">
773 <primary sortas="b-jps">jps</primary>
774 </indexterm>
775 </listitem>
776 </varlistentry>
777
778 <varlistentry id="jrunscript">
779 <term><command>jrunscript</command></term>
780 <listitem>
781 <para>is a command line script shell.</para>
782 <indexterm zone="openjdk jrunscript">
783 <primary sortas="b-jrunscript">jrunscript</primary>
784 </indexterm>
785 </listitem>
786 </varlistentry>
787
788 <varlistentry id="jsadebugd">
789 <term><command>jsadebugd</command></term>
790 <listitem>
791 <para>attaches to a Java process or core file and acts as a
792 debug server.</para>
793 <indexterm zone="openjdk jsadebugd">
794 <primary sortas="b-jsadebugd">jsadebugd</primary>
795 </indexterm>
796 </listitem>
797 </varlistentry>
798
799 <varlistentry id="jstack">
800 <term><command>jstack</command></term>
801 <listitem>
802 <para>prints Java stack traces of Java threads for a given
803 Java process, core file, or a remote debug server.</para>
804 <indexterm zone="openjdk jstack">
805 <primary sortas="b-jstack">jstack</primary>
806 </indexterm>
807 </listitem>
808 </varlistentry>
809
810 <varlistentry id="jstat">
811 <term><command>jstat</command></term>
812 <listitem>
813 <para>displays performance statistics for an instrumented JVM.</para>
814 <indexterm zone="openjdk jstat">
815 <primary sortas="b-jstat">jstat</primary>
816 </indexterm>
817 </listitem>
818 </varlistentry>
819
820 <varlistentry id="jstatd">
821 <term><command>jstatd</command></term>
822 <listitem>
823 <para>is an RMI server application that monitors for the creation
824 and termination of instrumented JVMs.</para>
825 <indexterm zone="openjdk jstatd">
826 <primary sortas="b-jstatd">jstatd</primary>
827 </indexterm>
828 </listitem>
829 </varlistentry>
830
831 <varlistentry id="keytool">
832 <term><command>keytool</command></term>
833 <listitem>
834 <para>is a key and certificate management utility.</para>
835 <indexterm zone="openjdk keytool">
836 <primary sortas="b-keytool">keytool</primary>
837 </indexterm>
838 </listitem>
839 </varlistentry>
840
841 <varlistentry id="native2ascii">
842 <term><command>native2ascii</command></term>
843 <listitem>
844 <para> converts files that contain non-supported character encoding
845 into files containing Latin-1 or Unicode-encoded characters.</para>
846 <indexterm zone="openjdk native2ascii">
847 <primary sortas="b-native2ascii">native2ascii</primary>
848 </indexterm>
849 </listitem>
850 </varlistentry>
851
852 <varlistentry id="orbd">
853 <term><command>orbd</command></term>
854 <listitem>
855 <para>is used to enable clients to transparently locate and invoke
856 persistent objects on servers in the CORBA environment.</para>
857 <indexterm zone="openjdk orbd">
858 <primary sortas="b-orbd">orbd</primary>
859 </indexterm>
860 </listitem>
861 </varlistentry>
862
863 <varlistentry id="pack200">
864 <term><command>pack200</command></term>
865 <listitem>
866 <para>is a Java application that transforms a jar file into a
867 compressed pack200 file using the Java gzip compressor.</para>
868 <indexterm zone="openjdk pack200">
869 <primary sortas="b-pack200">pack200</primary>
870 </indexterm>
871 </listitem>
872 </varlistentry>
873
874 <varlistentry id="policytool">
875 <term><command>policytool</command></term>
876 <listitem>
877 <para>creates and manages a policy file graphically.</para>
878 <indexterm zone="openjdk policytool">
879 <primary sortas="b-policytool">policytool</primary>
880 </indexterm>
881 </listitem>
882 </varlistentry>
883
884 <varlistentry id="rmic">
885 <term><command>rmic</command></term>
886 <listitem>
887 <para>generates stub and skeleton class files for remote objects
888 from the names of compiled Java classes that contain remote
889 object implementations.</para>
890 <indexterm zone="openjdk rmic">
891 <primary sortas="b-rmic">rmic</primary>
892 </indexterm>
893 </listitem>
894 </varlistentry>
895
896 <varlistentry id="rmid">
897 <term><command>rmid</command></term>
898 <listitem>
899 <para>starts the activation system daemon.</para>
900 <indexterm zone="openjdk rmid">
901 <primary sortas="b-rmid">rmid</primary>
902 </indexterm>
903 </listitem>
904 </varlistentry>
905
906 <varlistentry id="rmiregistry">
907 <term><command>rmiregistry</command></term>
908 <listitem>
909 <para>creates and starts a remote object registry on the specified
910 port on the current host.</para>
911 <indexterm zone="openjdk rmiregistry">
912 <primary sortas="b-rmiregistry">rmiregistry</primary>
913 </indexterm>
914 </listitem>
915 </varlistentry>
916
917 <varlistentry id="schemagen">
918 <term><command>schemagen</command></term>
919 <listitem>
920 <para>is a Java XML binding schema generator.</para>
921 <indexterm zone="openjdk schemagen">
922 <primary sortas="b-schemagen">schemagen</primary>
923 </indexterm>
924 </listitem>
925 </varlistentry>
926
927 <varlistentry id="serialver">
928 <term><command>serialver</command></term>
929 <listitem>
930 <para>returns the serialVersionUID for one or more classes in a
931 form suitable for copying into an evolving class.</para>
932 <indexterm zone="openjdk serialver">
933 <primary sortas="b-serialver">serialver</primary>
934 </indexterm>
935 </listitem>
936 </varlistentry>
937
938 <varlistentry id="servertool">
939 <term><command>servertool</command></term>
940 <listitem>
941 <para>provides an ease-of-use interface for application programmers
942 to register, unregister, startup and shutdown a server.</para>
943 <indexterm zone="openjdk servertool">
944 <primary sortas="b-servertool">servertool</primary>
945 </indexterm>
946 </listitem>
947 </varlistentry>
948
949 <varlistentry id="tnameserv">
950 <term><command>tnameserv</command></term>
951 <listitem>
952 <para>starts the Java IDL name server.</para>
953 <indexterm zone="openjdk tnameserv">
954 <primary sortas="b-tnameserv">tnameserv</primary>
955 </indexterm>
956 </listitem>
957 </varlistentry>
958
959 <varlistentry id="unpack200">
960 <term><command>unpack200</command></term>
961 <listitem>
962 <para>is a native implementation that transforms a packed file
963 produced by <application>pack200</application> into a jar
964 file.</para>
965 <indexterm zone="openjdk unpack200">
966 <primary sortas="b-unpack200">unpack200</primary>
967 </indexterm>
968 </listitem>
969 </varlistentry>
970
971 <varlistentry id="wsgen">
972 <term><command>wsgen</command></term>
973 <listitem>
974 <para>generates JAX-WS portable artifacts used in JAX-WS
975 web services.</para>
976 <indexterm zone="openjdk wsgen">
977 <primary sortas="b-wsgen">wsgen</primary>
978 </indexterm>
979 </listitem>
980 </varlistentry>
981
982 <varlistentry id="wsimport">
983 <term><command>wsimport</command></term>
984 <listitem>
985 <para>generates JAX-WS portable artifacts.</para>
986 <indexterm zone="openjdk wsimport">
987 <primary sortas="b-wsimport">wsimport</primary>
988 </indexterm>
989 </listitem>
990 </varlistentry>
991
992 <varlistentry id="xjc">
993 <term><command>xjc</command></term>
994 <listitem>
995 <para>is a Java XML binding compiler.</para>
996 <indexterm zone="openjdk xjc">
997 <primary sortas="b-xjc">xjc</primary>
998 </indexterm>
999 </listitem>
1000 </varlistentry>
1001
1002 </variablelist>
1003
1004 </sect2>
1005
1006</sect1>
Note: See TracBrowser for help on using the repository browser.