/[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.44 - (hide annotations) (download) (as text)
Wed Oct 7 18:14:31 2009 UTC (4 years, 11 months ago) by nightmorph
Branch: MAIN
Changes since 1.43: +42 -35 lines
File MIME type: application/xml
Updated Java guide for 64-bit plugins (bug 287675). Also removed some old cruft related to blackdown and old Sun versions.

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

  ViewVC Help
Powered by ViewVC 1.1.20