/[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.55 - (hide annotations) (download) (as text)
Tue Sep 17 07:45:03 2013 UTC (11 months ago) by swift
Branch: MAIN
CVS Tags: HEAD
Changes since 1.54: +2 -2 lines
File MIME type: application/xml
Java guide moved to https://wiki.gentoo.org/wiki/Java

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

  ViewVC Help
Powered by ViewVC 1.1.20