source: general/prog/openjdk.xml@ 49b50d4

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 49b50d4 was 49b50d4, checked in by DJ Lucas <dj@…>, 12 years ago

Added OpenJDK and removed "IcedTea6".

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

  • Property mode set to 100644
File size: 36.8 KB
RevLine 
[2c25a56]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
[49b50d4]7 <!ENTITY anduin-download "http://anduin.linuxfromscratch.org/files/BLFS/OpenJDK-&openjdk-version;">
8 <!ENTITY openjdk-download-binary-x86 "&anduin-download;/OpenJDK-&openjdk-version;-i686-bin.tar.xz">
9 <!ENTITY openjdk-bin-md5sum-x86 "b449e15c4ff908db2cb6e4729649df6b">
10 <!ENTITY openjdk-bin-size-x86 "82 MB">
11 <!ENTITY openjdk-bin-buildsize-x86 "534 MB">
12
13 <!ENTITY openjdk-download-binary-x64 "&anduin-download;/OpenJDK-&openjdk-version;-x86_64-bin.tar.xz">
14 <!ENTITY openjdk-bin-md5sum-x64 "e1430a7fccc08985ec792765477c9ede">
15 <!ENTITY openjdk-bin-size-x64 "112 MB">
16 <!ENTITY openjdk-bin-buildsize-x64 "854 MB">
17
18 <!ENTITY icedtea-download "http://icedtea.classpath.org/download/source/icedtea-&icedtea-version;.tar.gz">
19
20 <!ENTITY icedtea-md5sum "f9c47b7340031fe0ba2d2fc04c5785ab">
21 <!ENTITY icedtea-size "4.6 MB">
22
23 <!ENTITY corba-download "&anduin-download;/corba.tar.gz">
24 <!ENTITY corba-md5sum "7c47c0aff6fdd10e273b32f4a0c86f9e">
25 <!ENTITY corba-size "1.4 MB">
26
27 <!ENTITY hotspot-download "&anduin-download;/hotspot.tar.gz">
28 <!ENTITY hotspot-md5sum "ccb03e59283e478e6047b243b2b33342">
29 <!ENTITY hotspot-size "9.0 MB">
30
31 <!ENTITY jaxp-download "&anduin-download;/jaxp.tar.gz">
32 <!ENTITY jaxp-md5sum "fe28339778835ccbcd3823a504148dc1">
33 <!ENTITY jaxp-size "3.8 MB">
34
35 <!ENTITY jaxws-download "&anduin-download;/jaxws.tar.gz">
36 <!ENTITY jaxws-md5sum "5a5c0596865c17dc91a6541af8778aef">
37 <!ENTITY jaxws-size "2.7 MB">
38
39 <!ENTITY jdk-download "&anduin-download;/jdk.tar.gz">
40 <!ENTITY jdk-md5sum "4c77fcca0fc44a9c9d2b6e09f4187e0a">
41 <!ENTITY jdk-size "43 MB">
42
43 <!ENTITY langtools-download "&anduin-download;/langtools.tar.gz">
44 <!ENTITY langtools-md5sum "d8e302ddb366c363685c95f5e4a06865">
45 <!ENTITY langtools-size "2.3 MB">
46
47 <!ENTITY openjdk-download "&anduin-download;/openjdk.tar.gz">
48 <!ENTITY openjdk-md5sum "86ec3297a13f512544712918db387ef5">
49 <!ENTITY openjdk-size "132 KB">
50
51 <!ENTITY rhino-download "ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R3.zip">
52 <!ENTITY rhino-md5sum "99d94103662a8d0b571e247a77432ac5">
53 <!ENTITY rhino-size "4.5 MB">
54
55 <!ENTITY openjdk-buildsize "5.0-7.2 GB">
56 <!ENTITY openjdk-time "45 SBU (an additional 130 SBU for testsuite)">
[2c25a56]57
58]>
59
[49b50d4]60<sect1 id="openjdk" xreflabel="OpenJDK-&openjdk-version;">
61 <?dbhtml filename="openjdk.html" ?>
[2c25a56]62
63 <sect1info>
64 <othername>$LastChangedBy$</othername>
65 <date>$Date$</date>
66 </sect1info>
67
[49b50d4]68 <title>OpenJDK-&openjdk-version;</title>
[2c25a56]69
[49b50d4]70 <indexterm zone="openjdk">
71 <primary sortas="a-OpenJDK">OpenJDK</primary>
[2c25a56]72 </indexterm>
73
74 <sect2 role="package">
[49b50d4]75 <title>Introduction to OpenJDK and IcedTea</title>
[2c25a56]76
[49b50d4]77 <para><application>IcedTea</application> provides a build harness for the
[2c25a56]78 <application>OpenJDK</application> package, Oracle's recently open-sourced
79 <application>Java</application> development environment. In order to
80 provide a completely free runtime environment, similar to Oracle's closed
[49b50d4]81 distribution, the <application>IcedTea</application> build harness also
82 provides free, and arguably better versions of parts of the JDK which
83 have not been open-sourced to date. <application>OpenJDK</application> is
[2c25a56]84 useful for developing <application>Java</application> programs and provides
85 a complete runtime environment to run <application>Java</application>
86 programs.</para>
87
[d3d92c8]88 <note><para>The browser plugin and webstart implementation have been split
[49b50d4]89 off into a separate project. To provide a complete implementation, you will
90 need to later install <xref linkend="icedtea-web"/>.</para></note>
[d3d92c8]91
[49b50d4]92 <para>OpenJDK is GPL'd code, however, it should be explained that there has
93 been a special exception made for non-free projects to use these classes in
94 their proprietary products. In similar fashion to the LGPL, which
[2c25a56]95 allows non-free programs to link to libraries provided by free software,
96 the <ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU
97 General Public License, version 2, with the Classpath Exception</ulink>
98 allows third party programs to use classes provided by free software
99 without the requirment that the third party software also be free. As with
100 the LGPL, any modifictaions made to the free software portions of a
101 third party application, must also be made freely availible.</para>
102
103 <note>
[49b50d4]104 <para>The IcedTea build environment includes a very thorough, open source
[2c25a56]105 test suite titled <application>JTreg</application>.
106 <application>JTreg</application> is intended to test the just built JDK
107 for reasonable compatibility with the closed Oracle JDK. However, in
108 order for an independent implementation to claim compatibility, including
109 the Oracle sponsored <application>OpenJDK</application> project, it must
110 pass a closed <application>JCK/TCK</application> test suite. No claims
111 of compatibility, even partial compatibility, may be made without
112 passing an approved test suite.</para>
113
114 <para>Oracle does provide free community access, on a case by case basis,
115 to a closed toolkit to ensure 100% compatibility with its proprietary JDK.
116 The binary version provided here has not been tested against the
117 <ulink url="http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html">
118 TCK</ulink>. Any version that is built using the instructions given,
119 cannot claim to be compatible with the proprietary JDK, without the user
120 applying for, and completing the compatibility tests themselves.</para>
121
122 <para>With that in mind, the binaries produced using this build method are
123 regularly tested against the TCK by the members listed on the site above.
124 In addition to the community license above, an educational, non-commercial
125 license for the TCK can be obtained from
126 <ulink url="http://www.oracle.com/technetwork/java/index-137188.html">
127 here</ulink>.</para>
128 </note>
129
[49b50d4]130 &lfs71_checked;
131
[2c25a56]132 <bridgehead renderas="sect3">Source Package Information</bridgehead>
133 <itemizedlist spacing="compact">
134 <listitem>
[49b50d4]135 <para>IcedTea Source Package
[2c25a56]136 <simplelist>
[49b50d4]137 <member>Download: <ulink url="&icedtea-download;"/></member>
138 <member>Download MD5 sum: &icedtea-md5sum;</member>
139 <member>Download Size: &icedtea-size;</member>
[2c25a56]140 </simplelist>
141 </para>
142 </listitem>
143 <listitem>
[49b50d4]144 <para>Corba Source
145 <simplelist>
146 <member>Download: <ulink url="&corba-download;"/></member>
147 <member>Download MD5 sum: &corba-md5sum;</member>
148 <member>Download Size: &corba-size;</member>
149 </simplelist>
150 </para>
151 </listitem>
152 <listitem>
153 <para>Hotspot Source
[2c25a56]154 <simplelist>
[49b50d4]155 <member>Download: <ulink url="&hotspot-download;"/></member>
156 <member>Download MD5 sum: &hotspot-md5sum;</member>
157 <member>Download Size: &hotspot-size;</member>
[2c25a56]158 </simplelist>
159 </para>
160 </listitem>
161 <listitem>
[49b50d4]162 <para>IcedTea Build Source
[2c25a56]163 <simplelist>
[49b50d4]164 <member>Download: <ulink url="&openjdk-download;"/></member>
165 <member>Download MD5 sum: &openjdk-md5sum;</member>
166 <member>Download Size: &openjdk-size;</member>
[2c25a56]167 </simplelist>
168 </para>
169 </listitem>
170 <listitem>
171 <para>JAXP Source
172 <simplelist>
[49b50d4]173 <member>Download: <ulink url="&jaxp-download;"/></member>
174 <member>Download MD5 sum: &jaxp-md5sum;</member>
175 <member>Download Size: &jaxp-size;</member>
[2c25a56]176 </simplelist>
177 </para>
178 </listitem>
179 <listitem>
180 <para>JAXWS Source
181 <simplelist>
[49b50d4]182 <member>Download: <ulink url="&jaxws-download;"/></member>
183 <member>Download MD5 sum: &jaxws-md5sum;</member>
184 <member>Download Size: &jaxws-size;</member>
185 </simplelist>
186 </para>
187 </listitem>
188 <listitem>
189 <para>Langtools Source
190 <simplelist>
191 <member>Download: <ulink url="&langtools-download;"/></member>
192 <member>Download MD5 sum: &langtools-md5sum;</member>
193 <member>Download Size: &langtools-size;</member>
194 </simplelist>
195 </para>
196 </listitem>
197 <listitem>
198 <para>OpenJDK Source
199 <simplelist>
200 <member>Download: <ulink url="&jdk-download;"/></member>
201 <member>Download MD5 sum: &jdk-md5sum;</member>
202 <member>Download Size: &jdk-size;</member>
[2c25a56]203 </simplelist>
204 </para>
205 </listitem>
206 <listitem>
[49b50d4]207 <para>Estimated disk space required: &openjdk-buildsize;</para>
[2c25a56]208 </listitem>
209 <listitem>
[49b50d4]210 <para>Estimated build time: &openjdk-time;</para>
[2c25a56]211 </listitem>
212 </itemizedlist>
213
[bc00982]214 <bridgehead renderas="sect3">Binary Package Information</bridgehead>
215 <itemizedlist spacing="compact">
216 <listitem>
217 <para>Binary download (x86):
[49b50d4]218 <ulink url="&openjdk-download-binary-x86;"/></para>
[bc00982]219 </listitem>
220 <listitem>
[49b50d4]221 <para>Download MD5 sum: &openjdk-bin-md5sum-x86;</para>
[bc00982]222 </listitem>
223 <listitem>
[49b50d4]224 <para>Download size (binary): &openjdk-bin-size-x86;</para>
[bc00982]225 </listitem>
226 <listitem>
[49b50d4]227 <para>Estimated disk space required: &openjdk-bin-buildsize-x86;</para>
[bc00982]228 </listitem>
229 </itemizedlist>
230 <itemizedlist spacing="compact">
231 <listitem>
232 <para>Binary download (x86_64):
[49b50d4]233 <ulink url="&openjdk-download-binary-x64;"/></para>
[bc00982]234 </listitem>
235 <listitem>
[49b50d4]236 <para>Download MD5 sum: &openjdk-bin-md5sum-x64;</para>
[bc00982]237 </listitem>
238 <listitem>
[49b50d4]239 <para>Download size (binary): &openjdk-bin-size-x64;</para>
[bc00982]240 </listitem>
241 <listitem>
[49b50d4]242 <para>Estimated disk space required: &openjdk-bin-buildsize-x64;</para>
[bc00982]243 </listitem>
244 </itemizedlist>
245
[2c25a56]246 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
247
248 <bridgehead renderas="sect4">Required Patches</bridgehead>
249 <itemizedlist spacing='compact'>
250 <listitem>
251 <para><ulink
[49b50d4]252 url="&patch-root;/icedtea-&icedtea-version;-generate_cacerts-1.patch"/></para>
[2c25a56]253 </listitem>
254 <listitem>
255 <para><ulink
[49b50d4]256 url="&patch-root;/icedtea-&icedtea-version;-fixed_paths-1.patch"/></para>
[2c25a56]257 </listitem>
258 <listitem>
259 <para><ulink
[49b50d4]260 url="&patch-root;/icedtea-&icedtea-version;-fix_tests-1.patch"/></para>
[2c25a56]261 </listitem>
262 </itemizedlist>
263
[49b50d4]264 <bridgehead renderas="sect4">Required Jar File</bridgehead>
[2c25a56]265 <itemizedlist spacing='compact'>
266 <listitem>
267 <para>Rhino Java Script
268 <simplelist>
[49b50d4]269 <member>Download: <ulink url="&rhino-download;"/></member>
270 <member>Download MD5 sum: &rhino-md5sum;</member>
271 <member>Download Size: &rhino-size;</member>
[2c25a56]272 </simplelist>
273 </para>
274 </listitem>
275 </itemizedlist>
[49b50d4]276 <bridgehead renderas="sect3">OpenJDK Dependencies</bridgehead>
[bc00982]277
[2c25a56]278 <bridgehead renderas="sect4">Optional Runtime Dependencies (required for
279 source installation)</bridgehead>
280 <para role="optional">
[49b50d4]281 <xref linkend="cacerts"/>,
[de930747]282 <xref linkend="cups"/>,
[49b50d4]283 <xref linkend="gtk3"/>,
284 <xref linkend="giflib"/>,
285 <xref linkend="pulseaudio"/>,
[de930747]286 <xref linkend="xorg7-lib"/> and
[49b50d4]287 <xref linkend="xulrunner"/>.
[de930747]288 </para>
[2c25a56]289
290 <bridgehead renderas="sect4">Additional Requirements
291 (for source build, including optional requirements)</bridgehead>
292 <para role="required">
293 <xref linkend="apache-ant"/>,
[49b50d4]294 <xref linkend="cpio"/>,
[2c25a56]295 <xref linkend="unzip"/>,
296 <xref linkend="which"/>, and
297 <xref linkend="zip"/></para>
298
299 <para condition="html" role="usernotes">User Notes:
[49b50d4]300 <ulink url="&blfs-wiki;/openjdk"/></para>
[2c25a56]301
302 </sect2>
303
304 <sect2 role="installation">
[49b50d4]305 <title>Installation of OpenJDK</title>
[2c25a56]306
307 <para>The instructions below install both the binary and source versions.
308 You may stop after installing the binary version or continue on installing
309 the source version. You can choose to keep either or both.</para>
310
[49b50d4]311 <bridgehead renderas="sect3">OpenJDK Binary Installation</bridgehead>
[bc00982]312 <para>Begin by extracting the appropriate binary tarball and changing to
313 the extracted dirctory. Install the binary
[49b50d4]314 <application>OpenJDK</application> with the following commands as the
[bc00982]315 <systemitem class="username">root</systemitem> user:</para>
[2c25a56]316
[49b50d4]317<screen role="root"><userinput>install -vdm755 /opt/OpenJDK-&openjdk-version;-bin &amp;&amp;
318cp -R * /opt/OpenJDK-&openjdk-version;-bin &amp;&amp;
319chown -R root:root /opt/OpenJDK-&openjdk-version;-bin</userinput></screen>
[2c25a56]320
[49b50d4]321 <para>Configure the temporary <application>OpenJDK</application>
[2c25a56]322 installation with the following commands:</para>
323
324<screen><userinput>export PATH_HOLD="${PATH}" &amp;&amp;
[49b50d4]325export JAVA_HOME="/opt/OpenJDK-&openjdk-version;-bin" &amp;&amp;
[2c25a56]326export CLASSPATH=".:/usr/share/java" &amp;&amp;
327export PATH="${PATH}:${JAVA_HOME}/bin"</userinput></screen>
328
[bc00982]329 <para>The binary version is now installed. If you don't want to compile the
330 sources, skip ahead to the configuration section.</para>
[2c25a56]331
[49b50d4]332 <bridgehead renderas="sect3">OpenJDK Source Installation</bridgehead>
333 <note><para>The source build of OpenJDK requires
[2c25a56]334 <xref linkend="apache-ant"/>. You'll need to build that first to satisfy
335 the reciprocal dependency, and return to this section to continue building
[49b50d4]336 OpenJDK.</para></note>
[2c25a56]337
[49b50d4]338 <para>Unlike other packages in BLFS, the <application>OpenJDK</application>
339 source packages are distributed in multiple downloads. Since the IcedTea
340 build harness wil be used to build <application>OpenJDK</application>,
341 begin by extracting the IcedTea package and changing into the
[bc00982]342 extracted dirctory.</para>
343
[49b50d4]344 <para>The IcedTea <application>OpenJDK</application> distribuion requires
345 that <filename>js.jar</filename> (from the Rhino package) be in place in
346 order to provide a java-script implementation for the free JDK. If you have
347 not installed the js.jar file in another way, do so with the following
348 commands as the <systemitem class="username">root</systemitem> user:</para>
[2c25a56]349
[49b50d4]350<screen role="root"><userinput>unzip ../../rhino1_7R3.zip &amp;&amp;
[2c25a56]351install -v -d -m755 /usr/share/java &amp;&amp;
[49b50d4]352install -v -m755 rhino1_7R3/*.jar /usr/share/java</userinput></screen>
353
354 <para>As mentioned previously, <application>OpenJDK</application> is
355 composed of several individual projects of the proprietary
356 <application>JDK</application> that have been relicensed under an open
357 source license. Put all of the individual components into the source tree
358 with the following commands:</para>
359
360<screen><userinput>cp -v ../corba.tar.gz . &amp;&amp;
361cp -v ../hotspot.tar.gz . &amp;&amp;
362cp -v ../jaxp.tar.gz . &amp;&amp;
363cp -v ../jaxws.tar.gz . &amp;&amp;
364cp -v ../jdk.tar.gz . &amp;&amp;
365cp -v ../langtools.tar.gz . &amp;&amp;
366cp -v ../openjdk.tar.gz .</userinput></screen>
[2c25a56]367
368 <para>Apply a patch to generate a valid cacerts file using the system CA
369 certificates:</para>
370
[49b50d4]371<screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-generate_cacerts-1.patch</userinput></screen>
[bc00982]372
373 <para>Apply a patch to replace fixed paths with ones appropriate for
374 BLFS:</para>
375
[49b50d4]376<screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-fixed_paths-1.patch</userinput></screen>
377
378 <para>Apply a patch to exclude known broken tests from the test suite:</para>
379
380<screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-fix_tests-1.patch</userinput></screen>
381
[bc00982]382
[2c25a56]383 <para>Configure and build the package with the following commands:</para>
384
385<screen><userinput>unset JAVA_HOME &amp;&amp;
386./autogen.sh &amp;&amp;
[49b50d4]387./configure --with-jdk-home=/opt/OpenJDK-&openjdk-version;-bin \
388 --enable-nss \
389 --enable-pulse-java &amp;&amp;
[2c25a56]390make</userinput></screen>
391
[49b50d4]392 <para>To test the results, issue: <command>make jtregcheck</command>. The
[bc00982]393 included version of <application>jtreg</application> is old, and the test
[49b50d4]394 suite is also very dependent on the host system and the environment that it
395 is run in. You should expect to see anywhere between a clean set of tests
396 and up to 160 failures in jdk with up to 17 errors in the tests themselves.
397 The majority of the 6000+ tests should pass. The reason for the
398 greatly varrying results is due to how stringent the testing environment
399 must be. Varrying architechtures, different versions of dependent
400 libraries, unexpected X Window environment and window managers, the CA
401 certificates used to generate the <filename>cacerts</filename> file, and
402 even any user input or power management or screen saver interuptions during
403 the testing can lead to various failures. While the known broken tests have
404 been removed, with the fix_tests patch above, the graphics tests faiulres
405 cannot be pre-determined (short of removing them all). Best bet for a
406 completely clean result is to run the test suite in a frambuffer on a
407 different screen (Xvfb). Even still, Disk I/O can cause failures.</para>
[2c25a56]408
409 <para>Install the package with the following commands as the
410 <systemitem class="username">root</systemitem> user:</para>
411
[49b50d4]412<screen role="root"><userinput>cp -R openjdk.build/j2sdk-image /opt/OpenJDK-&openjdk-version; &amp;&amp;
413chown -R root:root /opt/OpenJDK-&openjdk-version;</userinput></screen>
[2c25a56]414
415 </sect2>
416
417 <sect2 role="commands">
418 <title>Command Explanations</title>
419
420 <para><command>./autogen.sh</command>: This command forces rebuilding of
421 auto-generated files to account for new options added to
422 <filename>configure</filename>.</para>
423
424 <para><parameter>--with-jdk-home</parameter>: This switch provides the
[d3d92c8]425 location of the temporary <application>JDK</application>.</para>
[2c25a56]426
[49b50d4]427 <para><parameter>--enable-nss</parameter>: This switch enables the
428 build to utilize additional crytography supplied by the nss
429 libraries.</para>
[d3d92c8]430
[49b50d4]431 <para><parameter>--enable-pulse-audio</parameter>: This switch enables
432 building of the pulseaudio libraries (needed to provide a complete
433 implementation that is reasonably compatible with the proprietary
434 JDK).</para>
[d3d92c8]435
[2c25a56]436 </sect2>
437
438 <sect2 role="configuration">
[49b50d4]439 <title>Configuring OpenJDK</title>
[2c25a56]440
441 <sect3>
442 <title>Configuration Information</title>
443
[49b50d4]444 <para>There are now two <application>OpenJDK</application> SDKs
[2c25a56]445 installed in <filename>/opt</filename>. You should decide on which one
446 you would like to use as the default. For example if you decide to use
[49b50d4]447 the precompiled <application>OpenJDK</application>, do the following as
[2c25a56]448 the <systemitem class="username">root</systemitem> user:</para>
449
[49b50d4]450<screen role="root"><userinput>ln -v -nsf OpenJDK-&openjdk-version;-bin /opt/OpenJDK</userinput></screen>
[2c25a56]451
452 <para>The information below assumes your system is set up using the
453 instructions found in
454 <quote><xref linkend="postlfs-config-profile"/></quote>. You may need to
455 extract the relevant information below and incorporate it into your
456 system's startup files if your system is set up differently.</para>
457
[49b50d4]458 <para>Add the following <filename>openjdk.sh</filename> shell startup file
[2c25a56]459 to the <filename>/etc/profile.d</filename> directory with the following
460 commands as the <systemitem class="username">root</systemitem> user:</para>
461
[49b50d4]462<screen role="root"><userinput>cat &gt; /etc/profile.d/openjdk.sh &lt;&lt; "EOF"
463<literal># Begin /etc/profile.d/openjdk.sh
[2c25a56]464
465# Set JAVA_HOME directory
[49b50d4]466JAVA_HOME=/opt/OpenJDK
[2c25a56]467
468# Adjust PATH
469pathappend ${JAVA_HOME}/bin PATH
470
471# Auto Java CLASSPATH
472# Copy jar files to, or create symlinks in this directory
473AUTO_CLASSPATH_DIR=/usr/share/java
474pathprepend . CLASSPATH
475for dir in `find ${AUTO_CLASSPATH_DIR} -type d 2>/dev/null`; do
476 pathappend $dir CLASSPATH
477done
[49b50d4]478for jar in `find ${AUTO_CLASSPATH_DIR} -name "*.jar" 2>/dev/null`; do
479 pathappend $jar CLASSPATH
480done
[2c25a56]481
482export JAVA_HOME CLASSPATH
483unset AUTO_CLASSPATH_DIR
484unset dir
[49b50d4]485unset jar
[2c25a56]486
[49b50d4]487# End /etc/profile.d/openjdk.sh</literal>
[2c25a56]488EOF</userinput></screen>
489
[49b50d4]490 <para>Finally, add the man pages to <application>man_db</application>'s
491 configuration. As the <systemitem class="username">root</systemitem>
492 user:</para>
[2c25a56]493
[49b50d4]494<screen><userinput>cat &gt;&gt; /etc/man_db.conf &lt;&lt; "EOF" &amp;&amp;
495<literal>MANDATORY_MANPATH /opt/OpenJDK/man
496MANPATH_MAP /opt/OpenJDK/bin /opt/OpenJDK/man
497MANDB_MAP /opt/OpenJDK/man /var/cache/man/OpenJDK</literal>
498EOF
499mandb -c /opt/OpenJDK/man</userinput></screen>
[2c25a56]500
501 </sect3>
502
503 </sect2>
504
505 <sect2 role="content">
506 <title>Contents</title>
507
508 <segmentedlist>
509 <segtitle>Installed Programs</segtitle>
510 <segtitle>Installed Libraries</segtitle>
511 <segtitle>Installed Directory</segtitle>
512
513 <seglistitem>
[49b50d4]514 <seg>appletviewer, apt, extcheck, idlj, jar,
[2c25a56]515 jarsigner, java, javac, javadoc, javah, javap, java-rmi.cgi,
[49b50d4]516 jcmd, jconsole, jdb, jhat, jinfo, jmap, jps,
[2c25a56]517 jrunscript, jsadebugd, jstack, jstat, jstatd, keytool,
518 native2ascii, orbd, pack200, policytool, rmic, rmid, rmiregistry,
519 schemagen, serialver, servertool, tnameserv, unpack200,
520 wsgen, wsimport, and xjc</seg>
521 <seg><envar>$JAVA_HOME</envar>/lib/*, and
522 <envar>$JAVA_HOME</envar>/jre/lib/*</seg>
[49b50d4]523 <seg>/opt/openjdk-&openjdk-version;</seg>
[2c25a56]524 </seglistitem>
525 </segmentedlist>
526
527 <variablelist>
528 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
529 <?dbfo list-presentation="list"?>
530 <?dbhtml list-presentation="table"?>
531
[49b50d4]532 <varlistentry id="appletviewer">
533 <term><command>appletviewer</command></term>
534 <listitem>
535 <para>allows you to run applets outside of a web browser.</para>
536 <indexterm zone="openjdk appletviewer">
537 <primary sortas="b-appletviewer">appletviewer</primary>
538 </indexterm>
539 </listitem>
540 </varlistentry>
541
542 <varlistentry id="apt">
[2c25a56]543 <term><command>apt</command></term>
544 <listitem>
545 <para>is an annotation processing tool.</para>
[49b50d4]546 <indexterm zone="openjdk apt">
[2c25a56]547 <primary sortas="b-apt">apt</primary>
548 </indexterm>
549 </listitem>
550 </varlistentry>
551
[49b50d4]552 <varlistentry id="extcheck">
[2c25a56]553 <term><command>extcheck</command></term>
554 <listitem>
555 <para>checks a specified jar file for title and version conflicts
[49b50d4]556 with any extensions installed in the
557 <application>OpenJDK</application> software.</para>
558 <indexterm zone="openjdk extcheck">
[2c25a56]559 <primary sortas="b-extcheck">extcheck</primary>
560 </indexterm>
561 </listitem>
562 </varlistentry>
563
[49b50d4]564 <varlistentry id="idlj">
[2c25a56]565 <term><command>idlj</command></term>
566 <listitem>
567 <para>generates Java bindings from a given IDL file.</para>
[49b50d4]568 <indexterm zone="openjdk idlj">
[2c25a56]569 <primary sortas="b-idlj">idlj</primary>
570 </indexterm>
571 </listitem>
572 </varlistentry>
573
[49b50d4]574 <varlistentry id="jar">
[2c25a56]575 <term><command>jar</command></term>
576 <listitem>
577 <para>combines multiple files into a single jar archive.</para>
[49b50d4]578 <indexterm zone="openjdk jar">
[2c25a56]579 <primary sortas="b-jar">jar</primary>
580 </indexterm>
581 </listitem>
582 </varlistentry>
583
[49b50d4]584 <varlistentry id="jarsigner">
[2c25a56]585 <term><command>jarsigner</command></term>
586 <listitem>
587 <para>signs jar files and verifies the signatures and integrity
588 of a signed jar file.</para>
[49b50d4]589 <indexterm zone="openjdk jarsigner">
[2c25a56]590 <primary sortas="b-jarsigner">jarsigner</primary>
591 </indexterm>
592 </listitem>
593 </varlistentry>
594
[49b50d4]595 <varlistentry id="java">
[2c25a56]596 <term><command>java</command></term>
597 <listitem>
598 <para>launches a Java application by starting a Java runtime
599 environment, loading a specified class and invoking its main
600 method.</para>
[49b50d4]601 <indexterm zone="openjdk java">
[2c25a56]602 <primary sortas="b-java">java</primary>
603 </indexterm>
604 </listitem>
605 </varlistentry>
606
[49b50d4]607 <varlistentry id="javac">
[2c25a56]608 <term><command>javac</command></term>
609 <listitem>
610 <para>reads class and interface definitions, written in the
611 Java programming language, and compiles them into bytecode
612 class files.</para>
[49b50d4]613 <indexterm zone="openjdk javac">
[2c25a56]614 <primary sortas="b-javac">javac</primary>
615 </indexterm>
616 </listitem>
617 </varlistentry>
618
[49b50d4]619 <varlistentry id="javadoc">
[2c25a56]620 <term><command>javadoc</command></term>
621 <listitem>
622 <para>parses the declarations and documentation comments in a
623 set of Java source files and produces a corresponding set of
624 HTML pages describing the classes, interfaces,constructors,
625 methods, and fields.</para>
[49b50d4]626 <indexterm zone="openjdk javadoc">
[2c25a56]627 <primary sortas="b-javadoc">javadoc</primary>
628 </indexterm>
629 </listitem>
630 </varlistentry>
631
[49b50d4]632 <varlistentry id="javah">
[2c25a56]633 <term><command>javah</command></term>
634 <listitem>
635 <para>generates C header and source files
636 that are needed to implement native methods.</para>
[49b50d4]637 <indexterm zone="openjdk javah">
[2c25a56]638 <primary sortas="b-javah">javah</primary>
639 </indexterm>
640 </listitem>
641 </varlistentry>
642
[49b50d4]643 <varlistentry id="javap">
[2c25a56]644 <term><command>javap</command></term>
645 <listitem>
646 <para>disassembles a Java class file.</para>
[49b50d4]647 <indexterm zone="openjdk javap">
[2c25a56]648 <primary sortas="b-javap">javap</primary>
649 </indexterm>
650 </listitem>
651 </varlistentry>
652
[49b50d4]653 <varlistentry id="java-rmi.cgi">
[2c25a56]654 <term><command>java-rmi.cgi</command></term>
655 <listitem>
656 <para>is the Java RMI client.</para>
[49b50d4]657 <indexterm zone="openjdk java-rmi.cgi">
[2c25a56]658 <primary sortas="b-java-rmi.cgi">java-rmi.cgi</primary>
659 </indexterm>
660 </listitem>
661 </varlistentry>
662
[49b50d4]663 <varlistentry id="jcmd">
664 <term><command>jcmd</command></term>
665 <listitem>
666 <para>is a utility to send diagnostic command requests to a running
667 Java Virtual Machine.</para>
668 <indexterm zone="openjdk jcmd">
669 <primary sortas="b-jcmd">jcmd</primary>
670 </indexterm>
671 </listitem>
672 </varlistentry>
673
674 <varlistentry id="jconsole">
[2c25a56]675 <term><command>jconsole</command></term>
676 <listitem>
677 <para>is a graphical console tool to monitor and manage both
678 local and remote Java applications and virtual machines.</para>
[49b50d4]679 <indexterm zone="openjdk jconsole">
[2c25a56]680 <primary sortas="b-jconsole">jconsole</primary>
681 </indexterm>
682 </listitem>
683 </varlistentry>
684
[49b50d4]685 <varlistentry id="jdb">
[2c25a56]686 <term><command>jdb</command></term>
687 <listitem>
688 <para>is a simple command-line debugger for Java classes.</para>
[49b50d4]689 <indexterm zone="openjdk jdb">
[2c25a56]690 <primary sortas="b-jdb">jdb</primary>
691 </indexterm>
692 </listitem>
693 </varlistentry>
694
[49b50d4]695 <varlistentry id="jhat">
[2c25a56]696 <term><command>jhat</command></term>
697 <listitem>
698 <para>parses a java heap dump file and allows viewing
699 in a webbrowser.</para>
[49b50d4]700 <indexterm zone="openjdk jhat">
[2c25a56]701 <primary sortas="b-jhat">jhat</primary>
702 </indexterm>
703 </listitem>
704 </varlistentry>
705
[49b50d4]706 <varlistentry id="jinfo">
[2c25a56]707 <term><command>jinfo</command></term>
708 <listitem>
709 <para>prints Java configuration information for a given Java
710 process, core file, or a remote debug server.</para>
[49b50d4]711 <indexterm zone="openjdk jinfo">
[2c25a56]712 <primary sortas="b-jinfo">jinfo</primary>
713 </indexterm>
714 </listitem>
715 </varlistentry>
716
[49b50d4]717 <varlistentry id="jmap">
[2c25a56]718 <term><command>jmap</command></term>
719 <listitem>
720 <para>prints shared object memory maps or heap memory details
721 of a given process, core file, or a remote debug server.</para>
[49b50d4]722 <indexterm zone="openjdk jmap">
[2c25a56]723 <primary sortas="b-jmap">jmap</primary>
724 </indexterm>
725 </listitem>
726 </varlistentry>
727
[49b50d4]728 <varlistentry id="jps">
[2c25a56]729 <term><command>jps</command></term>
730 <listitem>
731 <para>lists the instrumented JVMs on the target system.</para>
[49b50d4]732 <indexterm zone="openjdk jps">
[2c25a56]733 <primary sortas="b-jps">jps</primary>
734 </indexterm>
735 </listitem>
736 </varlistentry>
737
[49b50d4]738 <varlistentry id="jrunscript">
[2c25a56]739 <term><command>jrunscript</command></term>
740 <listitem>
741 <para>is a command line script shell.</para>
[49b50d4]742 <indexterm zone="openjdk jrunscript">
[2c25a56]743 <primary sortas="b-jrunscript">jrunscript</primary>
744 </indexterm>
745 </listitem>
746 </varlistentry>
747
[49b50d4]748 <varlistentry id="jsadebugd">
[2c25a56]749 <term><command>jsadebugd</command></term>
750 <listitem>
751 <para>attaches to a Java process or core file and acts as a
752 debug server.</para>
[49b50d4]753 <indexterm zone="openjdk jsadebugd">
[2c25a56]754 <primary sortas="b-jsadebugd">jsadebugd</primary>
755 </indexterm>
756 </listitem>
757 </varlistentry>
758
[49b50d4]759 <varlistentry id="jstack">
[2c25a56]760 <term><command>jstack</command></term>
761 <listitem>
762 <para>prints Java stack traces of Java threads for a given
763 Java process, core file, or a remote debug server.</para>
[49b50d4]764 <indexterm zone="openjdk jstack">
[2c25a56]765 <primary sortas="b-jstack">jstack</primary>
766 </indexterm>
767 </listitem>
768 </varlistentry>
769
[49b50d4]770 <varlistentry id="jstat">
[2c25a56]771 <term><command>jstat</command></term>
772 <listitem>
773 <para>displays performance statistics for an instrumented JVM.</para>
[49b50d4]774 <indexterm zone="openjdk jstat">
[2c25a56]775 <primary sortas="b-jstat">jstat</primary>
776 </indexterm>
777 </listitem>
778 </varlistentry>
779
[49b50d4]780 <varlistentry id="jstatd">
[2c25a56]781 <term><command>jstatd</command></term>
782 <listitem>
783 <para>is an RMI server application that monitors for the creation
784 and termination of instrumented JVMs.</para>
[49b50d4]785 <indexterm zone="openjdk jstatd">
[2c25a56]786 <primary sortas="b-jstatd">jstatd</primary>
787 </indexterm>
788 </listitem>
789 </varlistentry>
790
[49b50d4]791 <varlistentry id="keytool">
[2c25a56]792 <term><command>keytool</command></term>
793 <listitem>
794 <para>is a key and certificate management utility.</para>
[49b50d4]795 <indexterm zone="openjdk keytool">
[2c25a56]796 <primary sortas="b-keytool">keytool</primary>
797 </indexterm>
798 </listitem>
799 </varlistentry>
800
[49b50d4]801 <varlistentry id="native2ascii">
[2c25a56]802 <term><command>native2ascii</command></term>
803 <listitem>
804 <para> converts files that contain non-supported character encoding
805 into files containing Latin-1 or Unicode-encoded characters.</para>
[49b50d4]806 <indexterm zone="openjdk native2ascii">
[2c25a56]807 <primary sortas="b-native2ascii">native2ascii</primary>
808 </indexterm>
809 </listitem>
810 </varlistentry>
811
[49b50d4]812 <varlistentry id="orbd">
[2c25a56]813 <term><command>orbd</command></term>
814 <listitem>
815 <para>is used to enable clients to transparently locate and invoke
816 persistent objects on servers in the CORBA environment.</para>
[49b50d4]817 <indexterm zone="openjdk orbd">
[2c25a56]818 <primary sortas="b-orbd">orbd</primary>
819 </indexterm>
820 </listitem>
821 </varlistentry>
822
[49b50d4]823 <varlistentry id="pack200">
[2c25a56]824 <term><command>pack200</command></term>
825 <listitem>
826 <para>is a Java application that transforms a jar file into a
827 compressed pack200 file using the Java gzip compressor.</para>
[49b50d4]828 <indexterm zone="openjdk pack200">
[2c25a56]829 <primary sortas="b-pack200">pack200</primary>
830 </indexterm>
831 </listitem>
832 </varlistentry>
833
[49b50d4]834 <varlistentry id="policytool">
[2c25a56]835 <term><command>policytool</command></term>
836 <listitem>
837 <para>creates and manages a policy file graphically.</para>
[49b50d4]838 <indexterm zone="openjdk policytool">
[2c25a56]839 <primary sortas="b-policytool">policytool</primary>
840 </indexterm>
841 </listitem>
842 </varlistentry>
843
[49b50d4]844 <varlistentry id="rmic">
[2c25a56]845 <term><command>rmic</command></term>
846 <listitem>
847 <para>generates stub and skeleton class files for remote objects
848 from the names of compiled Java classes that contain remote
849 object implementations.</para>
[49b50d4]850 <indexterm zone="openjdk rmic">
[2c25a56]851 <primary sortas="b-rmic">rmic</primary>
852 </indexterm>
853 </listitem>
854 </varlistentry>
855
[49b50d4]856 <varlistentry id="rmid">
[2c25a56]857 <term><command>rmid</command></term>
858 <listitem>
859 <para>starts the activation system daemon.</para>
[49b50d4]860 <indexterm zone="openjdk rmid">
[2c25a56]861 <primary sortas="b-rmid">rmid</primary>
862 </indexterm>
863 </listitem>
864 </varlistentry>
865
[49b50d4]866 <varlistentry id="rmiregistry">
[2c25a56]867 <term><command>rmiregistry</command></term>
868 <listitem>
869 <para>creates and starts a remote object registry on the specified
870 port on the current host.</para>
[49b50d4]871 <indexterm zone="openjdk rmiregistry">
[2c25a56]872 <primary sortas="b-rmiregistry">rmiregistry</primary>
873 </indexterm>
874 </listitem>
875 </varlistentry>
876
[49b50d4]877 <varlistentry id="schemagen">
[2c25a56]878 <term><command>schemagen</command></term>
879 <listitem>
880 <para>is a Java XML binding schema generator.</para>
[49b50d4]881 <indexterm zone="openjdk schemagen">
[2c25a56]882 <primary sortas="b-schemagen">schemagen</primary>
883 </indexterm>
884 </listitem>
885 </varlistentry>
886
[49b50d4]887 <varlistentry id="serialver">
[2c25a56]888 <term><command>serialver</command></term>
889 <listitem>
890 <para>returns the serialVersionUID for one or more classes in a
891 form suitable for copying into an evolving class.</para>
[49b50d4]892 <indexterm zone="openjdk serialver">
[2c25a56]893 <primary sortas="b-serialver">serialver</primary>
894 </indexterm>
895 </listitem>
896 </varlistentry>
897
[49b50d4]898 <varlistentry id="servertool">
[2c25a56]899 <term><command>servertool</command></term>
900 <listitem>
901 <para>provides an ease-of-use interface for application programmers
902 to register, unregister, startup and shutdown a server.</para>
[49b50d4]903 <indexterm zone="openjdk servertool">
[2c25a56]904 <primary sortas="b-servertool">servertool</primary>
905 </indexterm>
906 </listitem>
907 </varlistentry>
908
[49b50d4]909 <varlistentry id="tnameserv">
[2c25a56]910 <term><command>tnameserv</command></term>
911 <listitem>
912 <para>starts the Java IDL name server.</para>
[49b50d4]913 <indexterm zone="openjdk tnameserv">
[2c25a56]914 <primary sortas="b-tnameserv">tnameserv</primary>
915 </indexterm>
916 </listitem>
917 </varlistentry>
918
[49b50d4]919 <varlistentry id="unpack200">
[2c25a56]920 <term><command>unpack200</command></term>
921 <listitem>
922 <para>is a native implementation that transforms a packed file
923 produced by <application>pack200</application> into a jar
924 file.</para>
[49b50d4]925 <indexterm zone="openjdk unpack200">
[2c25a56]926 <primary sortas="b-unpack200">unpack200</primary>
927 </indexterm>
928 </listitem>
929 </varlistentry>
930
[49b50d4]931 <varlistentry id="wsgen">
[2c25a56]932 <term><command>wsgen</command></term>
933 <listitem>
934 <para>generates JAX-WS portable artifacts used in JAX-WS
935 web services.</para>
[49b50d4]936 <indexterm zone="openjdk wsgen">
[2c25a56]937 <primary sortas="b-wsgen">wsgen</primary>
938 </indexterm>
939 </listitem>
940 </varlistentry>
941
[49b50d4]942 <varlistentry id="wsimport">
[2c25a56]943 <term><command>wsimport</command></term>
944 <listitem>
945 <para>generates JAX-WS portable artifacts.</para>
[49b50d4]946 <indexterm zone="openjdk wsimport">
[2c25a56]947 <primary sortas="b-wsimport">wsimport</primary>
948 </indexterm>
949 </listitem>
950 </varlistentry>
951
[49b50d4]952 <varlistentry id="xjc">
[2c25a56]953 <term><command>xjc</command></term>
954 <listitem>
955 <para>is a Java XML binding compiler.</para>
[49b50d4]956 <indexterm zone="openjdk xjc">
[2c25a56]957 <primary sortas="b-xjc">xjc</primary>
958 </indexterm>
959 </listitem>
960 </varlistentry>
961
962 </variablelist>
963
964 </sect2>
965
966</sect1>
Note: See TracBrowser for help on using the repository browser.