mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 23:32:12 +08:00
937 lines
32 KiB
XML
937 lines
32 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!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/jdk21u">
|
|
<!ENTITY ojdk-download "&ojdk-repo;/archive/&ojdk-tarball;">
|
|
|
|
<!ENTITY anduin-download "&sources-anduin-http;/OpenJDK/OpenJDK-&openjdk-version;">
|
|
|
|
<!ENTITY ojdk-md5sum "6b714196cac31ebf31a0fc1a910ccb87">
|
|
<!ENTITY ojdk-size "107 MB">
|
|
|
|
<!ENTITY jtreg-version "7.3.1+1">
|
|
<!ENTITY jtreg-download "&anduin-download;/jtreg-&jtreg-version;.tar.gz">
|
|
<!ENTITY jtreg-md5sum "0038551ecaf37d0cd99832217f79e56d">
|
|
<!ENTITY jtreg-size "9.0 MB">
|
|
|
|
<!ENTITY ojdk-bdsize "3.7 GB (add 557 MB for tests)">
|
|
<!ENTITY ojdk-time "5.2 SBU with 4 jobs (add 32 SBU for tests with 4 jobs)">
|
|
]>
|
|
|
|
<sect1 id="openjdk" xreflabel="OpenJDK-&openjdk-version;">
|
|
<?dbhtml filename="openjdk.html" ?>
|
|
|
|
|
|
<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>
|
|
|
|
&lfs120_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="https://openjdk.org/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 testing 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, or 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="https://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 <ulink
|
|
url="https://www.oracle.com/java/scholarship-program.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>
|
|
|
|
<para>
|
|
<emphasis role="strong">Optional test harness</emphasis>
|
|
</para>
|
|
|
|
<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="harfbuzz"/>,
|
|
<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"/>,
|
|
<!-- not needed now, it seems
|
|
an X Window manager such as <xref linkend="twm"/> (for the tests), and
|
|
-->
|
|
<ulink url="https://ccache.dev/">ccache</ulink>,
|
|
<ulink url="https://pandoc.org/">pandoc</ulink>, and
|
|
<ulink url="https://zlib.net/pigz">pigz</ulink>
|
|
</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 unsetting <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:
|
|
</para>
|
|
|
|
<screen><userinput>unset JAVA_HOME &&
|
|
bash configure --enable-unlimited-crypto \
|
|
--disable-warnings-as-errors \
|
|
--with-stdc++lib=dynamic \
|
|
--with-giflib=system \
|
|
--with-harfbuzz=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 60 failures and 10 errors.
|
|
</para>
|
|
<!--
|
|
14.0.1+7:
|
|
for x86_64: passed: 5,836; failed: 42; error: 50
|
|
17.0.2+8:
|
|
for x86_64: passed: 6,238; failed: 48; error: 13
|
|
for i686: passed: 6,208; failed: 29; error: 6
|
|
18.0.1+10:
|
|
for x86_64: passed: 6,323; failed: 53; error: 14
|
|
for i686: passed: 6,290; failed: 29; error: 11
|
|
18.0.1.1+2:
|
|
for x86_64: passed: 6,323; failed: 53; error: 14
|
|
for i686: passed: 6,290; failed: 29; error: 11
|
|
18.0.2+8:
|
|
for x86_64: passed: 6,329; failed: 50; error: 14
|
|
for i686: passed: 6,289; failed: 31; error: 13
|
|
19.0.1+10:
|
|
for x86_64: passed: 6,423; failed: 58; error: 15
|
|
for i686: passed: 6,376; failed: 31; error: 12
|
|
19.0.2+7:
|
|
for x86_64: passed: 6,426; failed: 61; error: 14
|
|
for i686: passed: 6,377; failed: 34; error: 11
|
|
20.0.1+9:
|
|
for x86_64: passed: 6,515; failed: 65; error: 13
|
|
for i686: passed: 6,520; failed: 60; error: 13
|
|
20.0.2+9:
|
|
for x86_64: passed: 6,515; failed: 65; error: 14
|
|
for i686: passed: 6,446; failed: 33; error: 12
|
|
21+35:
|
|
for x86_64: passed: 6,699; failed: 72; error: 13
|
|
for i686: passed: 6,627; failed: 30; error: 10
|
|
21.0.1+12:
|
|
for x86_64: passed: 6,706; failed: 72; error: 14
|
|
for i686: passed: 6,636; failed: 29; error: 11
|
|
21.0.2+13:
|
|
for x86_64: passed: 6,698; failed: 71; error: 13
|
|
for i686: passed: 6,606; failed: 30; error: 34
|
|
-->
|
|
|
|
<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 can 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,harfbuzz,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>
|
|
Setting 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>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, jwebserver, keytool, rmiregistry, and serialver</seg>
|
|
<seg>37 libraries in /opt/jdk-&openjdk-version;+&openjdk-build;/lib/</seg>
|
|
<seg>/opt/jdk-&openjdk-version;+&openjdk-build;</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<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="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="jwebserver">
|
|
<term><command>jwebserver</command></term>
|
|
<listitem>
|
|
<para>
|
|
provides a minimal HTTP server, designed to be used for
|
|
prototyping, testing, and debugging
|
|
</para>
|
|
<indexterm zone="openjdk jwebserver">
|
|
<primary sortas="b-jwebserver">jwebserver</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="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>
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|