mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-25 07:42:13 +08:00
3d678dc9c5
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24291 af4574ff-66df-0310-9fd7-8a98e5e911e0
976 lines
33 KiB
XML
976 lines
33 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY ojdk-tarball "jdk-&openjdk-version;-ga.tar.gz">
|
|
<!ENTITY ojdk-repo "https://github.com/openjdk/jdk15u">
|
|
<!ENTITY ojdk-download "&ojdk-repo;/archive/&ojdk-tarball;">
|
|
|
|
<!ENTITY anduin-download "&sources-anduin-http;/OpenJDK/OpenJDK-&openjdk-version;">
|
|
|
|
<!ENTITY ojdk-md5sum "e516e5e14ded6f91a89c9b4c83a87005">
|
|
<!ENTITY ojdk-size "97 MB">
|
|
|
|
<!ENTITY jtreg-version "4.2.0-tip">
|
|
<!ENTITY jtreg-download "&anduin-download;/jtreg-&jtreg-version;.tar.gz">
|
|
<!ENTITY jtreg-md5sum "11818f2ae4be19d2c7ae6501be60ee98">
|
|
<!ENTITY jtreg-size "6.9 MB">
|
|
|
|
<!ENTITY ojdk-bdsize "4.5 GB (add 399 MB for tests)">
|
|
<!ENTITY ojdk-time "4.5 SBU with 4 jobs (add 55 SBU for tests with 4 jobs)">
|
|
]>
|
|
|
|
<sect1 id="openjdk" xreflabel="OpenJDK-&openjdk-version;">
|
|
<?dbhtml filename="openjdk.html" ?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>OpenJDK-&openjdk-version;</title>
|
|
|
|
<indexterm zone="openjdk">
|
|
<primary sortas="a-OpenJDK">OpenJDK</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to OpenJDK</title>
|
|
|
|
<para>
|
|
<application>OpenJDK</application> is an open-source implementation
|
|
of Oracle's Java Standard Edition platform.
|
|
<application>OpenJDK</application> is useful for developing
|
|
<application>Java</application> programs, and provides a complete
|
|
runtime environment to run <application>Java</application> programs.
|
|
</para>
|
|
|
|
&lfs101_checked;
|
|
|
|
<para>
|
|
OpenJDK is GPL'd code, with a special exception made for non-free
|
|
projects to use these classes in their proprietary products.
|
|
In similar fashion to the LGPL, which allows non-free programs to link
|
|
to libraries provided by free software, the
|
|
<ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU
|
|
General Public License, version 2, with the Classpath Exception</ulink>
|
|
allows third party programs to use classes provided by free software
|
|
without the requirement that the third party software also be free. As
|
|
with the LGPL, any modifications made to the free software portions of a
|
|
third party application, must also be made freely available.
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
The <application>OpenJDK</application> source includes a very
|
|
thorough, open source test suite using the
|
|
<application>JTreg</application> test harness. The testing instructions
|
|
below allow to test the just built JDK for reasonable compatibility
|
|
with the proprietary Oracle JDK. However, in order for an independent
|
|
implementation to claim compatibility, it must pass a proprietary
|
|
<application>JCK/TCK</application> test suite. No claims of
|
|
compatibility, even partial compatibility, may be made without passing
|
|
an approved test suite.
|
|
</para>
|
|
|
|
<para>
|
|
Oracle does provide free community access, on a case by case basis, to
|
|
a closed toolkit to ensure 100% compatibility with its proprietary JDK.
|
|
Neither the binary version provided on the <xref linkend="java"/> page
|
|
nor the JVM built with the instructions below have been tested against
|
|
the <ulink
|
|
url="http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html">
|
|
TCK</ulink>. Any version that is built using the instructions given,
|
|
cannot claim to be compatible with the proprietary JDK, without the
|
|
user applying for, and completing the compatibility tests themselves.
|
|
</para>
|
|
|
|
<para>
|
|
With that in mind, the binaries produced using this build method are
|
|
regularly tested against the TCK by the members listed on the site
|
|
above. In addition to the community license above, an educational,
|
|
non-commercial license for the TCK can be obtained from <ulink
|
|
url="http://www.oracle.com/technetwork/java/index-137188.html">
|
|
here</ulink>.
|
|
</para>
|
|
</note>
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&ojdk-download;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url=" "/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &ojdk-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download Size: &ojdk-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &ojdk-bdsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &ojdk-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Optional test harness</bridgehead>
|
|
|
|
<itemizedlist spacing='compact'>
|
|
<listitem>
|
|
<para>
|
|
<ulink url="&jtreg-download;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &jtreg-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download Size: &jtreg-size;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<!--
|
|
<bridgehead renderas="sect4">Required patch</bridgehead>
|
|
|
|
<itemizedlist spacing='compact'>
|
|
<listitem>
|
|
<para>
|
|
<ulink url="&patch-root;/openjdk-&openjdk-version;-make_4.3_fix-1.patch"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
-->
|
|
<bridgehead renderas="sect3">OpenJDK Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required Dependencies</bridgehead>
|
|
<para role="required">
|
|
An existing binary (<xref linkend="java"/> or an earlier built
|
|
version of this package. The instructions below assume that
|
|
you are using <xref linkend="ojdk-conf"/>),
|
|
<xref linkend="alsa-lib"/>,
|
|
<xref linkend="cpio"/>,
|
|
<xref linkend="cups"/>,
|
|
<xref linkend="unzip"/>,
|
|
<xref linkend="which"/>,
|
|
<xref linkend="xorg7-lib"/>, and
|
|
<xref linkend="zip"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<xref linkend="make-ca"/>,
|
|
<xref linkend="giflib"/>,
|
|
<xref linkend="lcms2"/>,
|
|
<xref linkend="libjpeg"/>,
|
|
<xref linkend="libpng"/>, and
|
|
<xref linkend="wget"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="git"/>,
|
|
<xref linkend="graphviz"/>,
|
|
<xref linkend="mercurial"/>, and
|
|
<!-- not needed now, it seems
|
|
an X Window manager such as <xref linkend="twm"/> (for the tests), and
|
|
--> <ulink url="https://pandoc.org/">pandoc</ulink>
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">User Notes:
|
|
<ulink url="&blfs-wiki;/openjdk"/></para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of OpenJDK</title>
|
|
|
|
<para>
|
|
If you have downloaded the optional test harness, unpack it now:
|
|
</para>
|
|
|
|
<screen><userinput>tar -xf ../jtreg-&jtreg-version;.tar.gz</userinput></screen>
|
|
<!--
|
|
<para>
|
|
Apply a patch to allow building with make-4.3:
|
|
</para>
|
|
|
|
<screen><userinput>patch -p1 -i ../openjdk-&openjdk-version;-make_4.3_fix-1.patch</userinput></screen>
|
|
|
|
<para>
|
|
Fix an issue coming from a removed header in glibc-2.32:
|
|
</para>
|
|
|
|
<screen><userinput>sed -i /sysctl/d \
|
|
src/jdk.incubator.jpackage/unix/native/libapplauncher/PosixPlatform.cpp</userinput></screen>
|
|
-->
|
|
<note>
|
|
<para>
|
|
Before proceeding, you should ensure that your environment
|
|
<envar>PATH</envar> variable contains the location of the Java
|
|
compiler used for bootstrapping <application>OpenJDK</application>.
|
|
This is the only requirement for the environment. Modern Java
|
|
installations do not need <envar>JAVA_HOME</envar> and
|
|
<envar>CLASSPATH</envar> is not used here. Furthermore, OpenJDK
|
|
developers recommend to unset <envar>JAVA_HOME</envar>.
|
|
</para>
|
|
|
|
<para>
|
|
The build system does not allow the <option>-j</option> switch in
|
|
<envar>MAKEFLAGS</envar>. See the command explanation for
|
|
<option>--with-jobs=</option>
|
|
for more information on customizing parallelization.
|
|
</para>
|
|
</note>
|
|
|
|
<para>
|
|
Configure and build the package with the following commands
|
|
(--with-milestone value can be modified to fit user preferences):
|
|
</para>
|
|
|
|
<screen><userinput>unset JAVA_HOME &&
|
|
bash configure --enable-unlimited-crypto \
|
|
--disable-warnings-as-errors \
|
|
--with-stdc++lib=dynamic \
|
|
--with-giflib=system \
|
|
--with-jtreg=$PWD/jtreg \
|
|
--with-lcms=system \
|
|
--with-libjpeg=system \
|
|
--with-libpng=system \
|
|
--with-zlib=system \
|
|
--with-version-build="&openjdk-build;" \
|
|
--with-version-pre="" \
|
|
--with-version-opt="" \
|
|
--with-cacerts-file=/etc/pki/tls/java/cacerts &&
|
|
make images</userinput></screen>
|
|
|
|
<para>
|
|
To test the results, you will need to execute the jtreg program.
|
|
You can set the number of concurrent tests by adding the
|
|
<parameter>-conc:<replaceable><X></replaceable></parameter>
|
|
value in the below command (tests will run sequentially otherwise):
|
|
</para>
|
|
|
|
<screen remap="test"><userinput>export JT_JAVA=$(echo $PWD/build/*/jdk) &&
|
|
jtreg/bin/jtreg -jdk:$JT_JAVA -automatic -ignore:quiet -v1 \
|
|
test/jdk:tier1 test/langtools:tier1 &&
|
|
unset JT_JAVA</userinput></screen>
|
|
|
|
<para>
|
|
For more control over the test suite, review the documentation
|
|
available in <filename>jtreg/doc/jtreg/usage.txt</filename>. To review
|
|
the results, see the files
|
|
<filename>JTreport/test_{jdk,langtools}/text/stats.txt</filename> and
|
|
<filename>JTreport/test_{jdk,langtools}/text/summary.txt</filename>.
|
|
You should expect to see around 40 failures and about the same number
|
|
of errors.
|
|
</para>
|
|
<!-- 11.0.2+9:
|
|
for x86_64: 2 Errors, 28 Failures
|
|
for i686: 13 Errors, 48 Failures
|
|
12.0.2+10:
|
|
for x86_64: 5828 Passed, 52 Errors, no failures
|
|
for i686: PENDING
|
|
14.0.1+7:
|
|
for x86_64: passed: 5,836; failed: 42; error: 50-->
|
|
|
|
<para>
|
|
Install the package with the following commands as the
|
|
<systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>install -vdm755 /opt/jdk-&openjdk-version;+&openjdk-build; &&
|
|
cp -Rv build/*/images/jdk/* /opt/jdk-&openjdk-version;+&openjdk-build; &&
|
|
chown -R root:root /opt/jdk-&openjdk-version;+&openjdk-build; &&
|
|
for s in 16 24 32 48; do
|
|
install -vDm644 src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
|
|
/usr/share/icons/hicolor/${s}x${s}/apps/java.png
|
|
done</userinput></screen>
|
|
|
|
<note>
|
|
<para>
|
|
If you only wish to install the Java Runtime Environment, you can
|
|
substitute <filename>build/*/images/jre</filename> in the above
|
|
<command>cp</command> command.
|
|
</para>
|
|
</note>
|
|
|
|
<para>
|
|
There are now two <application>OpenJDK</application> SDKs installed
|
|
in <filename class="directory">/opt</filename>. You should decide on
|
|
which one you would like to use as the default. Normally, you would opt
|
|
for the just installed <application>OpenJDK</application>. If so, do
|
|
the following as the <systemitem class="username">root</systemitem>
|
|
user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>ln -v -nsf jdk-&openjdk-version;+&openjdk-build; /opt/jdk</userinput></screen>
|
|
|
|
<para>
|
|
If desired, you may create .desktop files to add entries
|
|
in the menu for <command>java</command>
|
|
and <command>jconsole</command>. The needed icons have already been
|
|
installed. As the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>mkdir -pv /usr/share/applications &&
|
|
|
|
cat > /usr/share/applications/openjdk-java.desktop << "EOF" &&
|
|
<literal>[Desktop Entry]
|
|
Name=OpenJDK Java &openjdk-version; Runtime
|
|
Comment=OpenJDK Java &openjdk-version; Runtime
|
|
Exec=/opt/jdk/bin/java -jar
|
|
Terminal=false
|
|
Type=Application
|
|
Icon=java
|
|
MimeType=application/x-java-archive;application/java-archive;application/x-jar;
|
|
NoDisplay=true</literal>
|
|
EOF
|
|
cat > /usr/share/applications/openjdk-jconsole.desktop << "EOF"
|
|
<literal>[Desktop Entry]
|
|
Name=OpenJDK Java &openjdk-version; Console
|
|
Comment=OpenJDK Java &openjdk-version; Console
|
|
Keywords=java;console;monitoring
|
|
Exec=/opt/jdk/bin/jconsole
|
|
Terminal=false
|
|
Type=Application
|
|
Icon=java
|
|
Categories=Application;System;</literal>
|
|
EOF</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<command>bash configure...</command>: the top level
|
|
<filename>configure</filename> is a wrapper around the autotools one.
|
|
It is not executable and must be run through <command>bash</command>.
|
|
</para>
|
|
<!-- Not needed in openjdk-15
|
|
<para>
|
|
<parameter>- -with-extra-cflags=-fcommon</parameter>: Allows building
|
|
with GCC 10.
|
|
</para>
|
|
-->
|
|
<para>
|
|
<parameter>--enable-unlimited-crypto</parameter>: Because of limitations
|
|
on the usage of cryptography in some countries, there is the possibility
|
|
to limit the size of encryption keys and the use of some algorithms in a
|
|
policy file. This switch allows to ship a policy file with no
|
|
restriction. It is the responsibility of the user to ensure proper
|
|
adherence to the law.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--disable-warnings-as-errors</parameter>: This switch disables
|
|
use of <envar>-Werror</envar> in the build.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--with-stdc++lib=dynamic</parameter>: This switch forces the
|
|
build system to link to <filename>libstdc++.so</filename> (dynamic)
|
|
instead of <filename>libstdc++.a</filename> (static).
|
|
</para>
|
|
|
|
<para>
|
|
<option>--with-jobs=<replaceable><X></replaceable></option>:
|
|
The <parameter>-j</parameter> passed to make does not work with make as
|
|
invoked here. By default, the build system will use the number of
|
|
CPUs - 1.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--with-jtreg=$PWD/jtreg</parameter>: This switch tells
|
|
configure where to find jtreg. Omit if you have not downloaded the
|
|
optional test suite.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--with-{giflib,lcms,libjpeg,libpng,zlib}=system</parameter>:
|
|
These switches force the build system to use the system libraries instead
|
|
of the bundled versions.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--with-version-build</parameter>: Currently, the build
|
|
system does not include the build number in the version string. It has
|
|
to be specified here.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--with-version-pre</parameter>: This switch allows you to
|
|
prefix the version string with a custom string.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--with-version-opt</parameter>: This switch allows you to add
|
|
an optional build description to the version string.
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>--with-cacerts-file=/etc/pki/tls/java/cacerts</parameter>:
|
|
Specifies where to find a <filename>cacerts</filename> file,
|
|
<filename>/etc/pki/tls/java/</filename> on a BLFS system. Otherwise, an
|
|
empty one is created. You can use the
|
|
<command>/usr/sbin/make-ca --force</command> command to generate it, once
|
|
you have installed the Java binaries.
|
|
</para>
|
|
|
|
<para>
|
|
<option>--with-boot-jdk</option>: This switch provides the
|
|
location of the temporary <application>JDK</application>. It is normally
|
|
not needed if <command>java</command> is found in the <envar>PATH</envar>.
|
|
</para>
|
|
<!-- Seems to have disappeared
|
|
<para>
|
|
<command>find ... -iname '*.diz' -delete</command>: This command
|
|
removes redundant files.
|
|
</para>
|
|
-->
|
|
</sect2>
|
|
|
|
<sect2 role="configuration"
|
|
id="openjdk-config"
|
|
xreflabel="Configuring OpenJDK">
|
|
<title>Configuring OpenJDK</title>
|
|
|
|
<sect3>
|
|
<title>Configuration Information</title>
|
|
|
|
<para>
|
|
Normally, the JAVA environment has been configured after installing
|
|
the binary version, and can be used with the just built package as well.
|
|
Review <xref linkend="ojdk-conf"/> in case you want to modify
|
|
something.
|
|
</para>
|
|
|
|
<para>
|
|
To test if the man pages are correctly installed, issue
|
|
<command>source /etc/profile</command> and <command>man java</command>
|
|
to display the respective man page.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>
|
|
Settting up the JRE Certificate Authority Certificates (cacerts) file
|
|
</title>
|
|
|
|
<para>
|
|
If you have run the instructions on the <xref linkend="make-ca"/> page,
|
|
you only need to create a symlink in the default location for the
|
|
<filename>cacerts</filename> file. As user <systemitem
|
|
class="username">root</systemitem>:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>ln -sfv /etc/pki/tls/java/cacerts /opt/jdk/lib/security/cacerts</userinput></screen>
|
|
|
|
<para>
|
|
To check the installation, issue:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>cd /opt/jdk
|
|
bin/keytool -list -cacerts</userinput></screen>
|
|
|
|
<para>
|
|
At the prompt <computeroutput>Enter keystore password:</computeroutput>,
|
|
enter <userinput>changeit</userinput> (the default) or just press the
|
|
<quote>Enter</quote> key. If the <filename>cacerts</filename> file was
|
|
installed correctly, you will see a list of the certificates with
|
|
related information for each one. If not, you need to reinstall them.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directory</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>jaotc, jar, jarsigner, java, javac, javadoc, javap, jcmd,
|
|
jconsole, jdb, jdeprscan, jdeps, jfr, jhsdb, jimage, jinfo,
|
|
jlink, jmap, jmod, jpackage, jps, jrunscript, jshell, jstack,
|
|
jstat, jstatd, keytool, rmid, rmiregistry, and serialver</seg>
|
|
<seg>/opt/jdk-&openjdk-version;/lib/*</seg>
|
|
<seg>/opt/jdk-&openjdk-version;</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="jaotc">
|
|
<term><command>jaotc</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an <quote>ahead-of-time</quote> java class compiler
|
|
</para>
|
|
<indexterm zone="openjdk jaotc">
|
|
<primary sortas="b-jaotc">jaotc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jar">
|
|
<term><command>jar</command></term>
|
|
<listitem>
|
|
<para>
|
|
combines multiple files into a single jar archive
|
|
</para>
|
|
<indexterm zone="openjdk jar">
|
|
<primary sortas="b-jar">jar</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jarsigner">
|
|
<term><command>jarsigner</command></term>
|
|
<listitem>
|
|
<para>
|
|
signs jar files and verifies the signatures and integrity
|
|
of a signed jar file
|
|
</para>
|
|
<indexterm zone="openjdk jarsigner">
|
|
<primary sortas="b-jarsigner">jarsigner</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="java-prog">
|
|
<term><command>java</command></term>
|
|
<listitem>
|
|
<para>
|
|
launches a Java application by starting a Java runtime
|
|
environment, loading a specified class and invoking its main
|
|
method
|
|
</para>
|
|
<indexterm zone="openjdk java-prog">
|
|
<primary sortas="b-java-prog">java</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="javac">
|
|
<term><command>javac</command></term>
|
|
<listitem>
|
|
<para>
|
|
reads class and interface definitions, written in the
|
|
Java programming language, and compiles them into bytecode
|
|
class files
|
|
</para>
|
|
<indexterm zone="openjdk javac">
|
|
<primary sortas="b-javac">javac</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="javadoc">
|
|
<term><command>javadoc</command></term>
|
|
<listitem>
|
|
<para>
|
|
parses the declarations and documentation comments in a
|
|
set of Java source files and produces a corresponding set of
|
|
HTML pages describing the classes, interfaces, constructors,
|
|
methods, and fields
|
|
</para>
|
|
<indexterm zone="openjdk javadoc">
|
|
<primary sortas="b-javadoc">javadoc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="javap">
|
|
<term><command>javap</command></term>
|
|
<listitem>
|
|
<para>
|
|
disassembles a Java class file
|
|
</para>
|
|
<indexterm zone="openjdk javap">
|
|
<primary sortas="b-javap">javap</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jcmd">
|
|
<term><command>jcmd</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a utility to send diagnostic command requests to a running
|
|
Java Virtual Machine
|
|
</para>
|
|
<indexterm zone="openjdk jcmd">
|
|
<primary sortas="b-jcmd">jcmd</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jconsole">
|
|
<term><command>jconsole</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a graphical console tool to monitor and manage both
|
|
local and remote Java applications and virtual machines
|
|
</para>
|
|
<indexterm zone="openjdk jconsole">
|
|
<primary sortas="b-jconsole">jconsole</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jdb">
|
|
<term><command>jdb</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a simple command-line debugger for Java classes
|
|
</para>
|
|
<indexterm zone="openjdk jdb">
|
|
<primary sortas="b-jdb">jdb</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jdeprscan">
|
|
<term><command>jdeprscan</command></term>
|
|
<listitem>
|
|
<para>
|
|
scans class or jar files for uses of deprecated API elements
|
|
</para>
|
|
<indexterm zone="openjdk jdeprscan">
|
|
<primary sortas="b-jdeprscan">jdeprscan</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jdeps">
|
|
<term><command>jdeps</command></term>
|
|
<listitem>
|
|
<para>
|
|
shows the package-level or class-level dependencies of
|
|
Java class files
|
|
</para>
|
|
<indexterm zone="openjdk jdeps">
|
|
<primary sortas="b-jdeps">jdeps</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jfr">
|
|
<term><command>jfr</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool for working with <quote>Flight Recorder</quote> files
|
|
</para>
|
|
<indexterm zone="openjdk jfr">
|
|
<primary sortas="b-jfr">jfr</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jhsdb">
|
|
<term><command>jhsdb</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to analyze the content of a core dump from a
|
|
crashed Java Virtual Machine (JVM)
|
|
</para>
|
|
<indexterm zone="openjdk jhsdb">
|
|
<primary sortas="b-jhsdb">jhsdb</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jimage">
|
|
<term><command>jimage</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to list, extract, verify, or get information about
|
|
modules in <emphasis>jimage</emphasis> format
|
|
</para>
|
|
<indexterm zone="openjdk jimage">
|
|
<primary sortas="b-jimage">jimage</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jinfo">
|
|
<term><command>jinfo</command></term>
|
|
<listitem>
|
|
<para>
|
|
prints Java configuration information for a given Java
|
|
process, core file, or a remote debug server
|
|
</para>
|
|
<indexterm zone="openjdk jinfo">
|
|
<primary sortas="b-jinfo">jinfo</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
<!--
|
|
<varlistentry id="jjs">
|
|
<term><command>jjs</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a command-line tool used to invoke the Nashorn engine. It
|
|
can be used to interpret one or several script files, or to run
|
|
an interactive shell.
|
|
</para>
|
|
<indexterm zone="openjdk jjs">
|
|
<primary sortas="b-jjs">jjs</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
-->
|
|
<varlistentry id="jlink">
|
|
<term><command>jlink</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to assemble and optimize a set of modules and their
|
|
dependencies into a custom runtime image
|
|
</para>
|
|
<indexterm zone="openjdk jlink">
|
|
<primary sortas="b-jlink">jlink</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jmap">
|
|
<term><command>jmap</command></term>
|
|
<listitem>
|
|
<para>
|
|
prints shared object memory maps or heap memory details
|
|
of a given process, core file, or a remote debug server
|
|
</para>
|
|
<indexterm zone="openjdk jmap">
|
|
<primary sortas="b-jmap">jmap</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jmod">
|
|
<term><command>jmod</command></term>
|
|
<listitem>
|
|
<para>
|
|
creates JMOD files and lists the content of existing JMOD files
|
|
</para>
|
|
<indexterm zone="openjdk jmod">
|
|
<primary sortas="b-jmod">jmod</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jpackage">
|
|
<term><command>jpackage</command></term>
|
|
<listitem>
|
|
<para>
|
|
generates java application packages and images
|
|
</para>
|
|
<indexterm zone="openjdk jpackage">
|
|
<primary sortas="b-jpackage">jpackage</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jps">
|
|
<term><command>jps</command></term>
|
|
<listitem>
|
|
<para>
|
|
lists the instrumented JVMs on the target system
|
|
</para>
|
|
<indexterm zone="openjdk jps">
|
|
<primary sortas="b-jps">jps</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jrunscript">
|
|
<term><command>jrunscript</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a command line script shell
|
|
</para>
|
|
<indexterm zone="openjdk jrunscript">
|
|
<primary sortas="b-jrunscript">jrunscript</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jshell">
|
|
<term><command>jshell</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an interactive tool for learning the Java programming
|
|
language and prototyping Java code
|
|
</para>
|
|
<indexterm zone="openjdk jshell">
|
|
<primary sortas="b-jshell">jshell</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jstack">
|
|
<term><command>jstack</command></term>
|
|
<listitem>
|
|
<para>
|
|
prints Java stack traces of Java threads for a given
|
|
Java process, core file, or a remote debug server
|
|
</para>
|
|
<indexterm zone="openjdk jstack">
|
|
<primary sortas="b-jstack">jstack</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jstat">
|
|
<term><command>jstat</command></term>
|
|
<listitem>
|
|
<para>
|
|
displays performance statistics for an instrumented JVM
|
|
</para>
|
|
<indexterm zone="openjdk jstat">
|
|
<primary sortas="b-jstat">jstat</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="jstatd">
|
|
<term><command>jstatd</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an RMI server application that monitors for the creation
|
|
and termination of instrumented JVMs
|
|
</para>
|
|
<indexterm zone="openjdk jstatd">
|
|
<primary sortas="b-jstatd">jstatd</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="keytool">
|
|
<term><command>keytool</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a key and certificate management utility
|
|
</para>
|
|
<indexterm zone="openjdk keytool">
|
|
<primary sortas="b-keytool">keytool</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
<!--
|
|
<varlistentry id="pack200">
|
|
<term><command>pack200</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a Java application that transforms a jar file into a
|
|
compressed pack200 file using the Java gzip compressor.
|
|
</para>
|
|
<indexterm zone="openjdk pack200">
|
|
<primary sortas="b-pack200">pack200</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="rmic">
|
|
<term><command>rmic</command></term>
|
|
<listitem>
|
|
<para>
|
|
generates stub and skeleton class files for remote objects
|
|
from the names of compiled Java classes that contain remote
|
|
object implementations.
|
|
</para>
|
|
<indexterm zone="openjdk rmic">
|
|
<primary sortas="b-rmic">rmic</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
-->
|
|
<varlistentry id="rmid">
|
|
<term><command>rmid</command></term>
|
|
<listitem>
|
|
<para>
|
|
starts the activation system daemon
|
|
</para>
|
|
<indexterm zone="openjdk rmid">
|
|
<primary sortas="b-rmid">rmid</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="rmiregistry">
|
|
<term><command>rmiregistry</command></term>
|
|
<listitem>
|
|
<para>
|
|
creates and starts a remote object registry on the specified
|
|
port on the current host
|
|
</para>
|
|
<indexterm zone="openjdk rmiregistry">
|
|
<primary sortas="b-rmiregistry">rmiregistry</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="serialver">
|
|
<term><command>serialver</command></term>
|
|
<listitem>
|
|
<para>
|
|
returns the serialVersionUID for one or more classes in a
|
|
form suitable for copying into an evolving class
|
|
</para>
|
|
<indexterm zone="openjdk serialver">
|
|
<primary sortas="b-serialver">serialver</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
<!--
|
|
<varlistentry id="unpack200">
|
|
<term><command>unpack200</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a native implementation that transforms a packed file
|
|
produced by <application>pack200</application> into a jar
|
|
file.
|
|
</para>
|
|
<indexterm zone="openjdk unpack200">
|
|
<primary sortas="b-unpack200">unpack200</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
-->
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|