source: general/prog/openjdk.xml@ 88377804

10.0 10.1 11.0 ken/refactor-virt lazarus qt5new trunk upgradedb xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 88377804 was 88377804, checked in by Pierre Labastie <pieere@…>, 17 months ago

tags for libreoffice deps and parts of gnome

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

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