/[gentoo]/xml/htdocs/doc/en/java.xml
Gentoo

Contents of /xml/htdocs/doc/en/java.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.51 - (hide annotations) (download) (as text)
Mon May 9 21:36:03 2011 UTC (3 years, 3 months ago) by nightmorph
Branch: MAIN
Changes since 1.50: +4 -31 lines
File MIME type: application/xml
correct category for icedtea6-bin, remove icedtea since it's only ~arch, remove chapter referencing outdated /proj/en/java/java-upgrade, bug 366257 and bug 366645

1 neysx 1.11 <?xml version="1.0" encoding="UTF-8"?>
2 swift 1.8 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 nightmorph 1.51 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/java.xml,v 1.50 2011/05/09 19:16:31 nightmorph Exp $ -->
4 zhen 1.4
5 nightmorph 1.47 <guide>
6 neysx 1.11 <title>Gentoo Java Guide</title>
7    
8 nightmorph 1.23 <author title="Author">
9 rane 1.28 <mail link="nichoj@gentoo.org">Joshua Nichols</mail>
10 neysx 1.11 </author>
11 nightmorph 1.23 <author title="Author">
12 rane 1.28 <mail link="karltk@gentoo.org">Karl Trygve Kalleberg</mail>
13 neysx 1.11 </author>
14 swift 1.13 <author title="Editor">
15 nightmorph 1.23 <mail link="nightmorph@gentoo.org">Joshua Saddler</mail>
16 swift 1.13 </author>
17 neysx 1.11
18     <abstract>
19 nightmorph 1.23 This guide will introduce you to Java and explain how to use Java with Gentoo
20     Linux.
21 neysx 1.11 </abstract>
22    
23 nightmorph 1.23 <!-- The content of this document is licensed under the CC-BY-SA license -->
24     <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
25 neysx 1.11 <license/>
26    
27 nightmorph 1.51 <version>2</version>
28 nightmorph 1.50 <date>2011-05-09</date>
29 neysx 1.11
30     <chapter>
31 swift 1.13 <title>What is Java?</title>
32 neysx 1.11 <section>
33     <title>Overview</title>
34     <body>
35    
36     <p>
37 nightmorph 1.23 Java is a programming language developed by engineers of Sun Microsystems. The
38     language is object-oriented and designed to run on multiple platforms without
39     the need of recompiling code for each platform. Although Java can be compiled
40     as a native program, much of Java's popularity can be attributed to its
41     portability, along with other features such as garbage collection. To make
42     platform independence possible the Java compiler compiles the Java code to an
43     intermediate representation called "Java bytecode" that runs on a JRE (Java
44     Runtime Environment) and not directly on the operating system.
45 swift 1.13 </p>
46    
47     <p>
48 nightmorph 1.23 In order to run Java bytecode, one needs to have a JRE (Java Runtime
49     Environment) installed. A JRE provides core libraries, a platform dependent
50 nightmorph 1.39 Java Virtual Machine, plugins for browsers, among other things. A JDK (Java
51 nightmorph 1.23 Development Kit) adds programming tools, such as a bytecode compiler and a
52     debugger.
53 swift 1.13 </p>
54    
55     </body>
56     </section>
57     </chapter>
58    
59     <chapter>
60 rane 1.28 <title>Installing a Virtual Machine</title>
61 swift 1.13 <section>
62     <title>The choices</title>
63     <body>
64    
65     <p>
66 rane 1.28 Gentoo provides numerous Runtime Environments (JREs) and Development Kits
67     (JDKs). Among the current choices, we have:
68 swift 1.13 </p>
69    
70 nightmorph 1.23 <table>
71     <tr>
72     <th>Vendor</th>
73     <th>JDK</th>
74     <th>JRE</th>
75     </tr>
76     <tr>
77     <ti>Sun's Java Kit</ti>
78     <ti>dev-java/sun-jdk</ti>
79     <ti>dev-java/sun-jre-bin</ti>
80     </tr>
81     <tr>
82     <ti>The IBM Java Kit</ti>
83     <ti>dev-java/ibm-jdk-bin</ti>
84     <ti>dev-java/ibm-jre-bin</ti>
85     </tr>
86     <tr>
87     <ti>BEA WebLogic's J2SE Development Kit</ti>
88     <ti>dev-java/jrockit-jdk-bin</ti>
89     </tr>
90 nightmorph 1.50 <tr>
91     <ti>The IcedTea Open Java Kit</ti>
92     <ti>dev-java/icedtea6-bin</ti>
93     </tr>
94 nightmorph 1.23 </table>
95    
96     <!--
97 swift 1.41 TODO: list free implementations?
98 rane 1.26 note about not drop-in replacements
99 swift 1.41 kaffe/sablevm/gcj/jamvm
100 nightmorph 1.23 -->
101     </body>
102     </section>
103     <section>
104     <title>Installing a JRE/JDKs</title>
105     <body>
106    
107 neysx 1.11 <p>
108 nightmorph 1.23 To install your profile's default JDK, you can run <c>emerge virtual/jdk</c>.
109     Or to install your profile's default JRE, you can <c>emerge virtual/jre</c>.
110 neysx 1.11 </p>
111    
112 rane 1.28 <p>
113 nightmorph 1.50 Some JDKs and JREs, including the Sun packages, require accepting an End User
114     License Agreement, or EULA. If its license (such as dlj-1.1) is not listed in
115     ACCEPT_LICENSE in <path>/etc/make.conf</path>, then you won't be able to install
116     the JDK/JRE. For more information on how to add acceptable licenses to
117     <path>make.conf</path>, please read the <uri
118     link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1#doc_chap4">Portage
119     Handbook</uri>.
120     </p>
121    
122     <p>
123 nightmorph 1.51 To avoid any restrictive license hassle, consider installing
124     <c>icedtea6-bin</c>, which is an open Java implementation from the OpenJDK
125 nightmorph 1.50 project.
126 rane 1.28 </p>
127    
128 nightmorph 1.23 <note>
129     A JDK also includes a JRE, so if you install a JDK you shouldn't have to also
130     have to install a JRE.
131     </note>
132    
133 neysx 1.11 </body>
134     </section>
135     <section>
136 rane 1.28 <title>Installing fetch-restricted virtual machines</title>
137 neysx 1.11 <body>
138    
139     <p>
140 nightmorph 1.44 Some of the JDKs and JREs require you to jump through a few hoops before
141     installing. Simply emerge the packages as you normally would. The ebuilds will
142     then instruct you where to go and what to download.
143 neysx 1.11 </p>
144    
145     <p>
146     You should download the indicated file(s) into
147 nightmorph 1.23 <path>/usr/portage/distfiles</path>. Once there, you can rerun the emerge
148     command, at which point the JRE/JDK will be begin to install.
149 neysx 1.11 </p>
150    
151     </body>
152     </section>
153     </chapter>
154    
155     <chapter>
156 rane 1.28 <title>Configuring your virtual machine</title>
157 neysx 1.11 <section>
158     <title>Overview</title>
159     <body>
160    
161     <p>
162 nightmorph 1.23 Gentoo has the ability to have multiple JDKs and JREs installed without causing
163     conflicts.
164 neysx 1.11 </p>
165    
166     <p>
167 nightmorph 1.23 Using the <c>java-config</c> tool, you can set the system-wide default
168     (provided you have root access). Users can also use <c>java-config</c> to set
169     up their own personal default.
170 neysx 1.11 </p>
171    
172 nightmorph 1.23 <note>
173     You can also use <e>eselect</e> to change the system and user vm. See
174 nightmorph 1.24 <c>eselect java-vm help</c>.
175 nightmorph 1.23 </note>
176    
177 neysx 1.11 </body>
178     </section>
179     <section>
180 rane 1.28 <title>Setting a default virtual machine</title>
181 neysx 1.11 <body>
182    
183     <p>
184 nightmorph 1.23 Running the command <c>java-config --list-available-vms</c> will give you a
185     list of all JREs and JDKs installed on your system. Here is an example of
186     output:
187 neysx 1.11 </p>
188    
189     <pre caption="Listing available VMs">
190 neysx 1.12 # <i>java-config --list-available-vms</i>
191 nightmorph 1.34 The following VMs are available for generation-2:
192 nightmorph 1.47 1) IcedTea6-bin 1.4.1 [icedtea6-bin]
193     2) Sun JDK 1.5.0.20 [sun-jdk-1.5] <comment>(Build Only)</comment>
194 nightmorph 1.43 *) Sun JDK 1.6.0.16 [sun-jdk-1.6]
195 neysx 1.11 </pre>
196    
197 nightmorph 1.43 <note>
198     VMs marked as Build Only may contain security vulnerabilities and/or be EOL.
199     Gentoo recommends not setting these VMs as either your system or user VM.
200     Please see <uri link="java.xml#build-only">Build Only VM</uri> for more
201     information.
202     </note>
203    
204 neysx 1.11 <p>
205 nightmorph 1.23 The <e>*</e> indicates this is the current active vm (system-vm or user-vm when
206     set). The name in the brackets (<e>[]</e>) is the handle or ID for that
207     particular VM. You use the handle or the number to <c>java-config
208     --set-system-vm</c>. Here is an example of how to set the system VM.
209 neysx 1.11 </p>
210 zhen 1.4
211 neysx 1.11 <pre caption="Setting the System VM">
212 nightmorph 1.23 <comment>(By handle (preferred))</comment>
213 nightmorph 1.47 # <i>java-config --set-system-vm sun-jdk-1.6</i>
214     Now using sun-jdk-1.6 as your generation-2 system JVM
215 nightmorph 1.23 <comment>(By number)</comment>
216 nightmorph 1.47 # <i>java-config --set-system-vm 3</i>
217 nightmorph 1.43 Now using sun-jdk-1.6 as your generation-2 system JVM
218 neysx 1.11 </pre>
219 drobbins 1.1
220 nightmorph 1.23 <p>
221     As a regular user, you can use <c>java-config --set-user-vm</c>.
222     </p>
223    
224 neysx 1.11 <note>
225 nightmorph 1.23 You no longer have to <c>source</c> the profile for updates to the user/system
226     VM take place.
227 neysx 1.11 </note>
228    
229 nightmorph 1.23 </body>
230     </section>
231 nightmorph 1.43 <section id="build-only">
232     <title>Build Only VM</title>
233     <body>
234    
235     <p>
236     Some virtual machines are flagged as build-only due to being EOL and/or
237     containing security vulnerabilities. These virtual machines will not
238     automatically be used by Gentoo for the running of applications using Gentoo
239     launchers but will still be available for use by Gentoo's build environment as
240     some packages may require them for building. The setting of these virtual
241     machines as either your system or user VM is strongly discouraged as these VMs
242     will then be used when running the <path>/usr/bin/{java,javac,..}</path>
243     executables and will also be used by any packages not using Gentoo's launcher
244     scripts.
245     </p>
246    
247     </body>
248     </section>
249 nightmorph 1.23 <section id="preferred-vm">
250 jkt 1.49 <title>Preferred Build VM</title>
251 nightmorph 1.23 <body>
252    
253     <p>
254 jkt 1.49 While merging Java packages, the VM used for building can sometimes be different
255     from the one currently set as the system VM.
256 nightmorph 1.23 </p>
257    
258     <p>
259 jkt 1.49 This merge time VM switching is needed when, for example, your system-vm is
260     set to a 1.6 VM and the package you are merging requires a 1.5 VM. While merging
261     it will select and use a 1.5 VM, leaving your system-vm choice intact.
262 nightmorph 1.23 </p>
263    
264 neysx 1.11 <p>
265 jkt 1.49 To define which VM is selected when a switch is needed, we have created a list of <e>default/supported
266     VMs</e> per arch. You can find them in
267     <path>/usr/share/java-config-2/config/jdk-defaults.conf</path>.
268 neysx 1.11 </p>
269 drobbins 1.1
270 nightmorph 1.23 <p>
271 nightmorph 1.50 You can override these defaults (and even your selected system VM) in
272 nightmorph 1.23 <path>/etc/java-config-2/build/jdk.conf</path> and have complete control over
273 jkt 1.49 which VM will get used for merging. Some examples:
274 nightmorph 1.23 </p>
275    
276     <pre caption="Example /etc/java-config-2/build/jdk.conf">
277     <comment>(I always want it to use a sun-jdk, ie sun-jdk-1.4 for 1.4, sun-jdk-1.5 for 1.5, etc)</comment>
278     *=sun-jdk
279 neysx 1.11 </pre>
280 drobbins 1.1
281 nightmorph 1.23 <pre caption="Example /etc/java-config-2/build/jdk.conf">
282     <comment>(Always use sun-jdk-1.5 wherever possible, except for when a 1.4 or 1.3 VM is explicitly required)</comment>
283     *=sun-jdk-1.5
284     </pre>
285    
286     <pre caption="Example /etc/java-config-2/build/jdk.conf">
287     <comment># For 1.3 I prefer sun-jdk 1.4 but when it is not available, use ibm-jdk-bin,
288 nightmorph 1.47 # For 1.5, use sun-jdk </comment>
289 nightmorph 1.23 1.3=sun-jdk-1.4 ibm-jdk-bin
290     1.5=sun-jdk
291     </pre>
292    
293     <warn>
294 nightmorph 1.47 You do not <e>have</e> to edit this file. If you change these options to use a
295 nightmorph 1.50 unsupported VM, things could possibly break. Because of the wide variety of
296     available VMs, we do not have the resources to test and verify every package
297     works on all of them. Bugs reported with a unsupported VM won't be prioritized
298     as much as bugs present within supported VMs.
299 nightmorph 1.23 </warn>
300    
301     </body>
302     </section>
303     </chapter>
304    
305     <chapter>
306     <title>Compilers</title>
307     <section>
308     <body>
309    
310 neysx 1.11 <p>
311 nightmorph 1.50 The standard Java compiler used for building is <c>javac</c>, which comes with
312     each JDK. In addition to configuring the VM used at build time, it is also
313     possible configure which compiler is used. Essentially, you define a list your
314 nightmorph 1.23 preference for which compiler to use in
315     <path>/etc/java-config-2/build/compilers.conf</path>.
316 neysx 1.11 </p>
317    
318 nightmorph 1.23 <pre caption="/etc/java-config-2/build/compilers.conf">
319     # If the ebuild supports it
320     # it will check the COMPILERS var front to back and
321     # use the first compiler that is installed
322    
323 nightmorph 1.46 COMPILERS="ecj-X.Y jikes javac"
324 nightmorph 1.23 </pre>
325    
326 neysx 1.11 <p>
327 nightmorph 1.23 Some compilers don't support all possible -target and -source arguments.
328     Therefore, each compiler in the list is checked to see if it can support the
329     desired -source/-target. javac will work in all cases, so if no other suitable
330     compiler is found, it will be used instead.
331 neysx 1.11 </p>
332    
333 nightmorph 1.23 <p>
334     More details about each compiler are provided below:
335     </p>
336    
337     <table>
338     <tr>
339     <th>Name</th>
340     <th>Handle</th>
341     <th>Package</th>
342     <th>Description</th>
343     </tr>
344     <tr>
345     <ti>javac</ti>
346     <ti>javac</ti>
347     <ti>N/A</ti>
348     <ti>
349     This is the default compiler that will be used, and comes with each JDK.
350     </ti>
351     </tr>
352     <tr>
353     <ti>jikes</ti>
354     <ti>jikes</ti>
355     <ti>dev-java/jikes</ti>
356     <ti>
357     Jikes was originally developed by IBM. Anecdotally, it is generally quicker
358     than javac. Note however, that it is more pedantic, and will fail under a
359     few circumstances where javac has no issue. It also does not support Java
360     1.5 syntax yet.
361     </ti>
362     </tr>
363     <tr>
364     <ti>Eclipse Compiler for Java</ti>
365 nightmorph 1.46 <ti>ecj</ti>
366     <ti>dev-java/eclipse-ecj</ti>
367 nightmorph 1.23 <ti>
368     ECJ is the compiler used by the Eclipse software development kit. It is
369     very full featured, and is pretty fast. It does support Java 1.5 syntax.
370     </ti>
371     </tr>
372     </table>
373    
374     </body>
375     </section>
376     </chapter>
377    
378     <chapter>
379     <title>Setting a default CLASSPATH</title>
380     <section>
381     <body>
382    
383     <warn>
384     The options explained in this section should be considered deprecated and will
385 rane 1.26 most likely be removed in the future. We strongly recommend against using
386 nightmorph 1.23 these, because your Java projects or application should ideally manage their
387     own classpaths. If you choose to specify a default CLASSPATH, some applications
388     may behave unexpectedly, because classes they weren't expecting would be on the
389     classpath.
390     </warn>
391    
392     <p>
393     <c>java-config</c> can also be used to set a system-wide default CLASSPATH, as
394     well a user-specific default CLASSPATH.
395     </p>
396    
397     <p>
398     First, you will want to list available Java libraries installed on your system
399     that might want to be put in your CLASSPATH. Here is an example of output:
400     </p>
401    
402     <pre caption="Listing classes">
403     # <i>java-config --list-available-packages</i>
404     [xerces-2] The next generation of high performance, fully compliant XML parsers in the Apache Xerces family (/usr/share/xerces-2/package.env)
405     [junit] Simple framework to write repeatable tests (/usr/share/junit/package.env)
406     [bsh] BeanShell: A small embeddable Java source interpreter (/usr/share/bsh/package.env)
407     [bcel] The Byte Code Engineering Library: analyze, create, manipulate Java class files (/usr/share/bcel/package.env)
408     [log4j] A low-overhead robust logging package for Java (/usr/share/log4j/package.env)
409     ...
410     </pre>
411    
412     <p>
413     Again, the names in brackets (<e>[]</e>) are the IDs that you have to pass to
414     <c>java-config --set-system-classpath</c>. Here is an example:
415     </p>
416    
417     <pre caption="Setting classpaths">
418     # <i>java-config --set-system-classpath log4j,xerces-2</i>
419     </pre>
420    
421     <note>
422     The current directory (<path>.</path>) will not be part of the system
423     classpath, as that should be added in your system's login profile.
424     </note>
425    
426     <p>
427 rane 1.26 You will have to update your environment by logging out, then in again or
428     sourcing <path>/etc/profile</path>.
429 nightmorph 1.23 </p>
430    
431     <p>
432     For users, <c>java-config --set-user-classpath</c> will create
433     <path>~/.gentoo/java-env-classpath</path>, which you should then source from
434 swift 1.41 your shell's profile.
435 nightmorph 1.23 </p>
436    
437     <pre caption="Sourcing user specific classpath">
438     <i>if [[ -f "${HOME}/.gentoo/java-env-classpath" ]]; then
439     source ${HOME}/.gentoo/java-env-classpath
440     fi</i>
441     </pre>
442    
443     <p>
444     If you really want a system wide or user default classpath you can add
445 rane 1.25 something like the following to your shell's profile. But we would advise
446 nightmorph 1.23 against it.
447     </p>
448    
449     <pre caption="Setting classpath">
450 swift 1.41 # <i>export CLASSPATH="${CLASSPATH}:$(java-config --classpath log4j,xerces-2)"</i>
451 nightmorph 1.23 </pre>
452    
453 neysx 1.11 </body>
454     </section>
455 swift 1.13 </chapter>
456    
457     <chapter>
458 nightmorph 1.39 <title>Java Browser Plugins</title>
459 nightmorph 1.34 <section>
460 nightmorph 1.39 <title>Installing a plugin</title>
461 nightmorph 1.34 <body>
462    
463     <p>
464 nightmorph 1.39 You can install a Java plugin for your web browser by emerging a Java VM with
465 nightmorph 1.34 the <c>nsplugin</c> USE flag set.
466     </p>
467    
468     <note>
469     <c>nsplugin</c> is not available for all architectures. Check for available
470 nightmorph 1.39 plugins on your arch before trying to install a VM by running <c>emerge -pv
471 nightmorph 1.34 &lt;java-vm&gt;</c>.
472     </note>
473    
474     <p>
475 nightmorph 1.39 Portage will allow you to install multiple versions of Java plugins, though
476 nightmorph 1.34 only one will be used by your browser. You can check the list of available
477 nightmorph 1.39 plugins by running:
478 nightmorph 1.34 </p>
479    
480 nightmorph 1.39 <pre caption="Viewing available plugins">
481 nightmorph 1.34 # <i>eselect java-nsplugin list</i>
482 nightmorph 1.44 [1] sun-jre-bin-1.6
483     [2] icedtea6-bin
484 nightmorph 1.34 </pre>
485    
486     <p>
487 nightmorph 1.39 In this example, <c>sun-jre-bin</c> is selected for the browser plugin.
488 nightmorph 1.34 </p>
489    
490 nightmorph 1.39 <pre caption="Selecting a plugin">
491 nightmorph 1.44 # <i>eselect java-nsplugin set sun-jre-bin-1.6</i>
492 nightmorph 1.34 </pre>
493    
494     <p>
495 nightmorph 1.39 Verify that the correct plugin was selected:
496 nightmorph 1.34 </p>
497    
498 nightmorph 1.39 <pre caption="Verifying the correct plugin">
499 nightmorph 1.34 # <i>eselect java-nsplugin list</i>
500 nightmorph 1.44 [1] sun-jre-bin-1.6 current
501     [2] icedtea6-bin
502 nightmorph 1.34 </pre>
503    
504     <p>
505     Java.com also provides a link to <uri
506     link="http://java.com/en/download/installed.jsp">verify your installed
507 nightmorph 1.39 plugin</uri>. Additionally, if you are using a Mozilla-based browser, you can
508     verify your Java plugin by typing <c>about:plugins</c> into the address bar.
509 nightmorph 1.34 </p>
510    
511     </body>
512     </section>
513     <section>
514 nightmorph 1.39 <title>Plugins on multilib systems</title>
515 nightmorph 1.34 <body>
516    
517     <p>
518 swift 1.41 If you are running a mixed 64-bit and 32-bit multilib system (for example, on
519 nightmorph 1.44 AMD64), you can use 64-bit and 32-bit Java plugins. Unless you have a pressing
520     need to run 32-bit Java applications, we recommend using native 64-bit plugins
521     on 64-bit web browsers.
522 nightmorph 1.34 </p>
523    
524     <p>
525 nightmorph 1.44 There are several native 64-bit browser plugins available. The default JDK/JRE
526     pair, <c>sun-jdk</c> and <c>sun-jre-bin</c>, both include browser plugins. Just
527     emerge one of them with the <c>nsplugin</c> USE flag enabled.
528     </p>
529    
530     <pre caption="Installing a 64-bit plugin">
531     # <i>echo "dev-java/sun-jre-bin nsplugin" >> /etc/portage/package.use</i>
532     # <i>emerge sun-jre-bin</i>
533     </pre>
534    
535     <p>
536     To use a 32-bit plugin on a 32-bit browser, you will need to emerge
537     <c>emul-linux-x86-java</c> with the <c>nsplugin</c> USE flag enabled.
538 nightmorph 1.38 </p>
539    
540 nightmorph 1.39 <pre caption="Installing a 32-bit plugin">
541 nightmorph 1.38 # <i>echo "app-emulation/emul-linux-x86-java nsplugin" >> /etc/portage/package.use</i>
542     # <i>emerge emul-linux-x86-java</i>
543     </pre>
544    
545     <p>
546 nightmorph 1.39 Next, check which plugins are available:
547 nightmorph 1.34 </p>
548    
549 nightmorph 1.39 <pre caption="Viewing available plugins">
550 nightmorph 1.34 # <i>eselect java-nsplugin list</i>
551     Available 32-bit Java browser plugins
552 nightmorph 1.44 [1] emul-linux-x86-java-1.5
553     [2] emul-linux-x86-java-1.6
554     Available 64-bit Java browser plugins
555     [1] icedtea6-bin
556     [2] sun-jre-bin-1.6
557 nightmorph 1.34 </pre>
558    
559     <p>
560 nightmorph 1.44 Now select the right plugin for your browsers:
561 nightmorph 1.39 </p>
562    
563     <pre caption="Selecting plugins">
564 nightmorph 1.44 <comment>(Choose the plugins for 32-bit and 64-bit browsers)</comment>
565     # <i>eselect java-nsplugin set 32bit emul-linux-x86-java-1.6</i>
566     # <i>eselect java-nsplugin set 64bit sun-jre-bin-1.6</i>
567 nightmorph 1.34 </pre>
568    
569     <p>
570 nightmorph 1.39 Verify the correct plugin was selected:
571 nightmorph 1.34 </p>
572    
573 nightmorph 1.39 <pre caption="Verifying the correct plugin">
574 nightmorph 1.34 # <i>eselect java-nsplugin list</i>
575     Available 32-bit Java browser plugins
576 nightmorph 1.44 [1] emul-linux-x86-java-1.5
577     [2] emul-linux-x86-java-1.6 current
578     Available 64-bit Java browser plugins
579     [1] icedtea6-bin
580     [2] sun-jre-bin-1.6 current
581 nightmorph 1.34 </pre>
582    
583     </body>
584     </section>
585     </chapter>
586    
587     <chapter>
588 swift 1.13 <title>USE flags for use with Java</title>
589     <section>
590     <title>Setting USE flags</title>
591     <body>
592    
593     <p>
594 rane 1.17 For more information regarding USE flags, refer to the <uri
595     link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=2">USE flags</uri>
596 swift 1.13 chapter from the Gentoo Handbook.
597 neysx 1.11 </p>
598    
599     </body>
600     </section>
601 swift 1.13 <section>
602     <title>The flags</title>
603     <body>
604    
605     <ul>
606 nightmorph 1.23 <li>The <b>java</b> flag adds support for Java in a variety of programs</li>
607     <li>
608     The <b>nsplugin</b> flag adds support for Mozilla-like browsers (including
609 nightmorph 1.33 Firefox). You will need this for viewing Java applets in your Mozilla-like
610 nightmorph 1.23 browser.
611     </li>
612 rane 1.17 <li>
613 rane 1.28 The <b>source</b> flag installs a zip of the source code of a package.
614 nightmorph 1.33 This is traditionally used for IDEs to 'attach' source to the libraries you
615     are using.
616 rane 1.28 </li>
617 nightmorph 1.40 <li>The <b>jce</b> flag adds support for the Java Cryptography Engine</li>
618 rane 1.28 <li>
619     For Java packages, the <b>doc</b> flag will build API documentation using
620     javadoc.
621     </li>
622 swift 1.13 </ul>
623    
624     </body>
625     </section>
626 neysx 1.11 </chapter>
627    
628     <chapter>
629     <title>Additional resources</title>
630     <section>
631     <title>Off-line resources</title>
632     <body>
633    
634     <ul>
635 rane 1.17 <li>java-config man page</li>
636     <li><c>java-config --help</c></li>
637 neysx 1.11 </ul>
638    
639     </body>
640     </section>
641     <section>
642     <title>Online resources</title>
643     <body>
644 rane 1.17
645 neysx 1.11 <ul>
646 nightmorph 1.23 <li>
647     The <uri link="http://www.gentoo.org/proj/en/java/">Java Project
648     Page</uri>
649     </li>
650 rane 1.17 <li>
651     The <uri
652 nightmorph 1.23 link="http://news.gmane.org/gmane.linux.gentoo.java">gentoo-java</uri>,
653     <uri
654     link="http://news.gmane.org/gmane.linux.gentoo.user">gentoo-user</uri>, and
655     <uri
656     link="http://news.gmane.org/gmane.linux.gentoo.devel">gentoo-dev</uri>
657 alin 1.18 mailing list archives
658 rane 1.17 </li>
659 nightmorph 1.42 <li>
660     <uri link="irc://irc.gentoo.org/gentoo">#gentoo</uri> and <uri
661     link="irc://irc.gentoo.org/gentoo-java">#gentoo-java</uri> on IRC
662     </li>
663 rane 1.17 <li>
664     <uri
665     link="http://en.wikipedia.org/wiki/Java_programming_language">Wikipedia's
666     entry for Java</uri>
667     </li>
668 nightmorph 1.40 <li>
669     If you have suggestions or questions regarding this document, please email
670     the Gentoo Java team: <mail>java@gentoo.org</mail>
671     </li>
672 neysx 1.11 </ul>
673    
674     </body>
675     </section>
676     </chapter>
677 neysx 1.12 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20