source: general/prog/openjdk.xml@ 89b38c1e

10.0 10.1 11.0 11.1 11.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus perl-modules qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since 89b38c1e was 89b38c1e, checked in by Pierre Labastie <pieere@…>, 4 years ago

Fix the name of .desktop files for openjdk

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

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