source: general/prog/openjdk.xml@ d61ead0a

10.0 10.1 11.0 11.1 11.2 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus perl-modules plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since d61ead0a was d61ead0a, checked in by DJ Lucas <dj@…>, 5 years ago

Update to OpenJDK-9.0.4.
Update to make-ca-0.7.
Update to Apache-Ant-1.10.2.

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