/[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.49 - (hide annotations) (download) (as text)
Tue Jul 6 11:51:28 2010 UTC (4 years ago) by jkt
Branch: MAIN
Changes since 1.48: +19 -19 lines
File MIME type: application/xml
#325885, speak about the system VM and the merge VM. Patch by Caster.

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

  ViewVC Help
Powered by ViewVC 1.1.20