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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.29 Revision 1.54
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/java.xml,v 1.29 2006/08/09 20:44:33 rane Exp $ -->
3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/java.xml,v 1.54 2012/07/24 12:12:51 swift Exp $ -->
4 4
5<guide link="/doc/en/java.xml"> 5<guide>
6<title>Gentoo Java Guide</title> 6<title>Gentoo Java Guide</title>
7 7
8<author title="Author"> 8<author title="Author">
9 <mail link="nichoj@gentoo.org">Joshua Nichols</mail> 9 <mail link="nichoj@gentoo.org">Joshua Nichols</mail>
10</author> 10</author>
22 22
23<!-- The content of this document is licensed under the CC-BY-SA license --> 23<!-- The content of this document is licensed under the CC-BY-SA license -->
24<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 24<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
25<license/> 25<license/>
26 26
27<version>0.7</version> 27<version>5</version>
28<date>2006-08-08</date> 28<date>2012-07-24</date>
29 29
30<chapter> 30<chapter>
31<title>What is Java?</title> 31<title>What is Java?</title>
32<section> 32<section>
33<title>Overview</title> 33<title>Overview</title>
45</p> 45</p>
46 46
47<p> 47<p>
48In order to run Java bytecode, one needs to have a JRE (Java Runtime 48In order to run Java bytecode, one needs to have a JRE (Java Runtime
49Environment) installed. A JRE provides core libraries, a platform dependent 49Environment) installed. A JRE provides core libraries, a platform dependent
50Java Virtual Machine, plug-ins for browsers, among other things. A JDK (Java 50Java Virtual Machine, plugins for browsers, among other things. A JDK (Java
51Development Kit) adds programming tools, such as a bytecode compiler and a 51Development Kit) adds programming tools, such as a bytecode compiler and a
52debugger. 52debugger.
53</p>
54
55</body>
56</section>
57</chapter>
58
59<chapter>
60<title>New Java System</title>
61<section>
62<body>
63
64<p>
65The way Java is handled on Gentoo has recently seen many changes and
66improvements. This has only happened very recently, and as a result, all the
67packages related to it are marked with testing keywords, ie ~x86. This
68document assumes you are using the new system.
69</p>
70
71</body>
72</section>
73<section>
74<title>Keywords</title>
75<body>
76
77<p>
78If you are using the stable tree, i.e. x86, ppc, or amd64 as opposed to ~x86,
79~ppc, or ~amd64, you will need to add some entries to your
80<path>/etc/portage/package.keywords</path>:
81</p>
82
83<pre caption="package.keywords">
84# Core Gentoo/Java Packages
85dev-java/ant-core
86dev-java/ant-tasks
87dev-java/ant
88dev-java/java-config
89dev-java/java-config-wrapper
90dev-java/javatoolkit
91dev-java/sun-jce-bin
92# JDKs
93=dev-java/sun-jdk-1.4*
94=dev-java/sun-jdk-1.5*
95=dev-java/ibm-jdk-bin-1.4*
96=dev-java/ibm-jdk-bin-1.5*
97=dev-java/jrockit-jdk-bin-1.4*
98=dev-java/jrockit-jdk-bin-1.5*
99=dev-java/blackdown-jdk-1.4*
100dev-java/kaffe
101# JREs
102=dev-java/sun-jre-bin-1.4*
103=dev-java/sun-jre-bin-1.5*
104=dev-java/ibm-jre-bin-1.4*
105=dev-java/blackdown-jre-1.4*
106# Virtuals
107virtual/jdk
108virtual/jre
109# Compilers
110dev-java/eclipse-ecj
111dev-java/jikes
112# Documentation
113dev-java/java-sdk-docs
114# Misc packages that have been updated to generation-2,
115# where the generation-1 won't build and/or run properly
116dev-java/lucene
117# These have optional Java support, but need ~arch to function properly
118# with generation-2
119dev-util/subversion
120sys-libs/db
121</pre>
122
123<impo>
124It is crucial that you keyword ALL packages related to the new Java system,
125otherwise you will have problems in the later steps of this guide.
126</impo>
127
128<impo>
129It can't be emphasized enough that you have to have ALL the packages related
130to the new Java system keyworded for it to function properly.
131</impo>
132
133</body>
134</section>
135<section>
136<title>Existing installs</title>
137<body>
138
139<p>
140For existing installs, regardless of if you have installed anything Java
141before, make sure you have followed the <uri
142link="/proj/en/java/java-upgrade.xml">Java Upgrade Guide</uri>.
143</p>
144
145</body>
146</section>
147<section>
148<title>New installs</title>
149<body>
150
151<p>
152New installs should require no further preparation.
153</p> 53</p>
154 54
155</body> 55</body>
156</section> 56</section>
157</chapter> 57</chapter>
172 <th>Vendor</th> 72 <th>Vendor</th>
173 <th>JDK</th> 73 <th>JDK</th>
174 <th>JRE</th> 74 <th>JRE</th>
175</tr> 75</tr>
176<tr> 76<tr>
177 <ti>The Blackdown Java Kit</ti> 77 <ti>The IcedTea Open Java SE (formerly icedtea6-bin)</ti>
178 <ti>dev-java/blackdown-jdk</ti> 78 <ti>dev-java/icedtea-bin</ti>
179 <ti>dev-java/blackdown-jre</ti> 79 <ti />
180</tr>
181<tr> 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>
182 <ti>Sun's Java Kit</ti> 87 <ti>Sun's Java 6 SE</ti>
183 <ti>dev-java/sun-jdk</ti> 88 <ti>dev-java/sun-jdk</ti>
184 <ti>dev-java/sun-jre-bin</ti> 89 <ti>dev-java/sun-jre-bin</ti>
185</tr> 90</tr>
186<tr> 91<tr>
187 <ti>The IBM Java Kit</ti> 92 <ti>The IBM Java SE</ti>
188 <ti>dev-java/ibm-jdk-bin</ti> 93 <ti>dev-java/ibm-jdk-bin</ti>
189 <ti>dev-java/ibm-jre-bin</ti> 94 <ti>dev-java/ibm-jre-bin</ti>
190</tr> 95</tr>
191<tr>
192 <ti>The Compaq Java Kit for Alpha/Linux/GNU</ti>
193 <ti>dev-java/compaq-jdk</ti>
194 <ti>dev-java/compaq-jre</ti>
195</tr>
196<tr>
197 <ti>BEA WebLogic's J2SE Development Kit</ti>
198 <ti>dev-java/jrockit-jdk-bin</ti>
199</tr>
200</table> 96</table>
201 97
202<!-- 98<!--
203TODO: list free implementations? 99TODO: list free implementations?
204note about not drop-in replacements 100note about not drop-in replacements
205kaffe/sablevm/gcj/jamvm 101kaffe/sablevm/gcj/jamvm
206--> 102-->
207
208<p>
209The default is Blackdown for both the JRE and the JDK, as it is freely ("free
210as in beer") available without any registration fuss.
211</p>
212
213<p>
214The default for Java 1.4 is the Blackdown JRE/JDK pair, as it is freely
215("free as in beer") available without any registration fuss.
216</p>
217
218<p>
219JREs and JDKs from Sun, IBM, and BEA are generally faster, but getting them
220is a bit more work, as you are required to read and accept their license before
221downloading (IBM additionally requires you to register).
222</p>
223
224</body> 103</body>
225</section> 104</section>
226<section> 105<section>
227<title>Installing a JRE/JDKs</title> 106<title>Installing a JRE/JDKs</title>
228<body> 107<body>
231To install your profile's default JDK, you can run <c>emerge virtual/jdk</c>. 110To install your profile's default JDK, you can run <c>emerge virtual/jdk</c>.
232Or to install your profile's default JRE, you can <c>emerge virtual/jre</c>. 111Or to install your profile's default JRE, you can <c>emerge virtual/jre</c>.
233</p> 112</p>
234 113
235<p> 114<p>
236In recent events, Sun has relicensed their JDK and JRE under a more Linux 115Some JDKs and JREs, including the Sun packages, require accepting an End User
237distro friendly license. As a result, Sun releases Java 1.5 and onwards are 116License Agreement, or EULA. If its license (such as dlj-1.1) is not listed in
238freely downloadable, without any further hassle. 117ACCEPT_LICENSE in <path>/etc/portage/make.conf</path>, then you won't be able to install
118the JDK/JRE. For more information on how to add acceptable licenses to
119<path>make.conf</path>, please read the <uri
120link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1#doc_chap4">Portage
121Handbook</uri>.
122</p>
123
124<p>
125To avoid any restrictive license hassle, consider installing
126<c>icedtea-bin</c>, which is an open Java implementation from the OpenJDK
127project.
239</p> 128</p>
240 129
241<note> 130<note>
242A JDK also includes a JRE, so if you install a JDK you shouldn't have to also 131A JDK also includes a JRE, so if you install a JDK you shouldn't have to also
243have to install a JRE. 132have to install a JRE.
248<section> 137<section>
249<title>Installing fetch-restricted virtual machines</title> 138<title>Installing fetch-restricted virtual machines</title>
250<body> 139<body>
251 140
252<p> 141<p>
253As already mentioned, some of the JDKs and JREs require you to jump through a 142Some of the JDKs and JREs require you to jump through a few hoops before
254few hoops before installing. Simply emerge the packages as you normally would. 143installing. Simply emerge the packages as you normally would. The ebuilds will
255The ebuilds will then instruct you where to go and what to download. 144then instruct you where to go and what to download.
256</p> 145</p>
257 146
258<p> 147<p>
259You should download the indicated file(s) into 148You should download the indicated file(s) into
260<path>/usr/portage/distfiles</path>. Once there, you can rerun the emerge 149<path>/usr/portage/distfiles</path>. Once there, you can rerun the emerge
299output: 188output:
300</p> 189</p>
301 190
302<pre caption="Listing available VMs"> 191<pre caption="Listing available VMs">
303# <i>java-config --list-available-vms</i> 192# <i>java-config --list-available-vms</i>
3041) Blackdown JDK 1.3.1 [blackdown-jdk-1.3] (/etc/env.d/java/20blackdown-jdk-1.3) 193The following VMs are available for generation-2:
3052) Blackdown JDK 1.4.2.02 [blackdown-jdk-1.4] (/etc/env.d/java/20blackdown-jdk-1.4) 1941) IcedTea-bin 1.10.4 [icedtea-bin]
3063) Blackdown JRE 1.4.2.02 [blackdown-jre-1.4] (/etc/env.d/java/20blackdown-jre-1.4) 1952) Sun JDK 1.5.0.20 [sun-jdk-1.5] <comment>(Build Only)</comment>
3074) IBM JDK 1.4.2 [ibm-jdk-bin-1.4] (/etc/env.d/java/20ibm-jdk-bin-1.4) 196*) Sun JDK 1.6.0.16 [sun-jdk-1.6]
3085) IBM JRE 1.4.2 [ibm-jre-bin-1.4] (/etc/env.d/java/20ibm-jre-bin-1.4)
3096) WebLogic JRockit 1.4.2.05 [jrockit-jdk-bin-1.4] (/etc/env.d/java/20jrockit-jdk-bin-1.4)
3107) WebLogic JRockit 1.5.0.03 [jrockit-jdk-bin-1.5] (/etc/env.d/java/20jrockit-jdk-bin-1.5)
3118) Sun JDK 1.3.1.13 [sun-jdk-1.3] (/etc/env.d/java/20sun-jdk-1.3)
3129) Sun JDK 1.4.2.09 [sun-jdk-1.4] (/etc/env.d/java/20sun-jdk-1.4)
313*) Sun JDK 1.5.0.04 [sun-jdk-1.5] (/etc/env.d/java/20sun-jdk-1.5)
31411) Sun JRE 1.4.2.09 [sun-jre-bin-1.4] (/etc/env.d/java/20sun-jre-bin-1.4)
31512) Sun JRE 1.5.0.04 [sun-jre-bin-1.5] (/etc/env.d/java/20sun-jre-bin-1.5)
316</pre> 197</pre>
198
199<note>
200VMs marked as Build Only may contain security vulnerabilities and/or be EOL.
201Gentoo recommends not setting these VMs as either your system or user VM.
202Please see <uri link="java.xml#build-only">Build Only VM</uri> for more
203information.
204</note>
317 205
318<p> 206<p>
319The <e>*</e> indicates this is the current active vm (system-vm or user-vm when 207The <e>*</e> indicates this is the current active vm (system-vm or user-vm when
320set). The name in the brackets (<e>[]</e>) is the handle or ID for that 208set). The name in the brackets (<e>[]</e>) is the handle or ID for that
321particular VM. You use the handle or the number to <c>java-config 209particular VM. You use the handle or the number to <c>java-config
322--set-system-vm</c>. Here is an example of how to set the system VM. 210--set-system-vm</c>. Here is an example of how to set the system VM.
323</p> 211</p>
324 212
325<pre caption="Setting the System VM"> 213<pre caption="Setting the System VM">
326<comment>(By handle (preferred))</comment> 214<comment>(By handle (preferred))</comment>
327# <i>java-config --set-system-vm blackdown-jdk-1.4</i> 215# <i>java-config --set-system-vm sun-jdk-1.6</i>
216Now using sun-jdk-1.6 as your generation-2 system JVM
328<comment>(By number)</comment> 217<comment>(By number)</comment>
329# <i>java-config --set-system-vm 2</i> 218# <i>java-config --set-system-vm 3</i>
219Now using sun-jdk-1.6 as your generation-2 system JVM
330</pre> 220</pre>
331 221
332<p> 222<p>
333As a regular user, you can use <c>java-config --set-user-vm</c>. 223As a regular user, you can use <c>java-config --set-user-vm</c>.
334</p> 224</p>
338VM take place. 228VM take place.
339</note> 229</note>
340 230
341</body> 231</body>
342</section> 232</section>
233<section id="build-only">
234<title>Build Only VM</title>
235<body>
236
237<p>
238Some virtual machines are flagged as build-only due to being EOL and/or
239containing security vulnerabilities. These virtual machines will not
240automatically be used by Gentoo for the running of applications using Gentoo
241launchers but will still be available for use by Gentoo's build environment as
242some packages may require them for building. The setting of these virtual
243machines as either your system or user VM is strongly discouraged as these VMs
244will then be used when running the <path>/usr/bin/{java,javac,..}</path>
245executables and will also be used by any packages not using Gentoo's launcher
246scripts.
247</p>
248
249</body>
250</section>
343<section id="preferred-vm"> 251<section id="preferred-vm">
344<title>Preferred VM</title> 252<title>Preferred Build VM</title>
345<body> 253<body>
346 254
347<p>
348While merging Java packages, the VM can and will be switched as necessary.
349</p> 255<p>
350 256While merging Java packages, the VM used for building can sometimes be different
257from the one currently set as the system VM.
351<p> 258</p>
352Because of the wide variety of available VMs, we do not have the resources to 259
353test and verify every package works on all of them. So to ensure that every 260<p>
354packages merges smoothly, we have defined a list of <e>default/supported 261This merge time VM switching is needed when, for example, your system-vm is
262set to a 1.6 VM and the package you are merging requires a 1.5 VM. While merging
263it will select and use a 1.5 VM, leaving your system-vm choice intact.
264</p>
265
266<p>
267To define which VM is selected when a switch is needed, we have created a list of <e>default/supported
355VMs</e> per arch. You can find them in 268VMs</e> per arch. You can find them in
356<path>/usr/share/java-config/config/jdk-defaults.conf</path>. When you are 269<path>/usr/share/java-config-2/config/jdk-defaults.conf</path>.
357merging a Java package, and it detects one of the VM in that file is installed,
358it will automatically use that VM, instead of the system-vm.
359</p>
360
361<p> 270</p>
362The merge time VM switching is also needed when, for example, your system-vm is 271
363set a 1.4 VM and the package you are merging requires a 1.5 VM. While merging
364it will use the preferred 1.5 VM, leaving your system-vm choice intact.
365</p> 272<p>
366 273You can override these defaults (and even your selected system VM) in
367<p>
368Of course, Gentoo is all about choice, so you can override these defaults in
369<path>/etc/java-config-2/build/jdk.conf</path> and have complete control over 274<path>/etc/java-config-2/build/jdk.conf</path> and have complete control over
370which VM will get used. Some examples: 275which VM will get used for merging. Some examples:
371</p> 276</p>
372 277
373<pre caption="Example /etc/java-config-2/build/jdk.conf"> 278<pre caption="Example /etc/java-config-2/build/jdk.conf">
374<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> 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>
375*=sun-jdk 280*=sun-jdk
380*=sun-jdk-1.5 285*=sun-jdk-1.5
381</pre> 286</pre>
382 287
383<pre caption="Example /etc/java-config-2/build/jdk.conf"> 288<pre caption="Example /etc/java-config-2/build/jdk.conf">
384<comment># For 1.3 I prefer sun-jdk 1.4 but when it is not available, use ibm-jdk-bin, 289<comment># For 1.3 I prefer sun-jdk 1.4 but when it is not available, use ibm-jdk-bin,
385# For 1.4, use blackdown-jdk, and for 1.5, use sun-jdk </comment> 290# For 1.5, use sun-jdk </comment>
3861.3=sun-jdk-1.4 ibm-jdk-bin 2911.3=sun-jdk-1.4 ibm-jdk-bin
3871.4=blackdown-jdk
3881.5=sun-jdk 2921.5=sun-jdk
389</pre> 293</pre>
390 294
391<warn> 295<warn>
392You do not have to edit this file. If you change these options to use a 296You do not <e>have</e> to edit this file. If you change these options to use a
393unsupported VM, things could possibly break. Bugs reported with a unsupported 297unsupported VM, things could possibly break. Because of the wide variety of
298available VMs, we do not have the resources to test and verify every package
299works on all of them. Bugs reported with a unsupported VM won't be prioritized
394VM won't be prioritized as much as bugs present within supported VMs. 300as much as bugs present within supported VMs.
395</warn> 301</warn>
396 302
397</body> 303</body>
398</section> 304</section>
399</chapter> 305</chapter>
402<title>Compilers</title> 308<title>Compilers</title>
403<section> 309<section>
404<body> 310<body>
405 311
406<p> 312<p>
407The standard Java compiler used for building is javac, which comes with each 313The standard Java compiler used for building is <c>javac</c>, which comes with
408JDK. In addition to configuring the VM used at build time, it is also possible 314each JDK. In addition to configuring the VM used at build time, it is also
409configure which compiler is used. Essentially, you define a list your 315possible configure which compiler is used. Essentially, you define a list your
410preference for which compiler to use in 316preference for which compiler to use in
411<path>/etc/java-config-2/build/compilers.conf</path>. 317<path>/etc/java-config-2/build/compilers.conf</path>.
412</p> 318</p>
413 319
414<pre caption="/etc/java-config-2/build/compilers.conf"> 320<pre caption="/etc/java-config-2/build/compilers.conf">
415# If the ebuild supports it 321# If the ebuild supports it
416# it will check the COMPILERS var front to back and 322# it will check the COMPILERS var front to back and
417# use the first compiler that is installed 323# use the first compiler that is installed
418 324
419COMPILERS="ecj-3.1 jikes javac" 325COMPILERS="ecj-X.Y jikes javac"
420</pre> 326</pre>
421 327
422<p> 328<p>
423Some compilers don't support all possible -target and -source arguments. 329Some compilers don't support all possible -target and -source arguments.
424Therefore, each compiler in the list is checked to see if it can support the 330Therefore, each compiler in the list is checked to see if it can support the
456 1.5 syntax yet. 362 1.5 syntax yet.
457 </ti> 363 </ti>
458</tr> 364</tr>
459<tr> 365<tr>
460 <ti>Eclipse Compiler for Java</ti> 366 <ti>Eclipse Compiler for Java</ti>
461 <ti>ecj-3.1</ti> 367 <ti>ecj</ti>
462 <ti>=dev-java/eclipse-ecj-3.1*</ti> 368 <ti>dev-java/eclipse-ecj</ti>
463 <ti> 369 <ti>
464 ECJ is the compiler used by the Eclipse software development kit. It is 370 ECJ is the compiler used by the Eclipse software development kit. It is
465 very full featured, and is pretty fast. It does support Java 1.5 syntax. 371 very full featured, and is pretty fast. It does support Java 1.5 syntax.
466 </ti> 372 </ti>
467</tr> 373</tr>
525</p> 431</p>
526 432
527<p> 433<p>
528For users, <c>java-config --set-user-classpath</c> will create 434For users, <c>java-config --set-user-classpath</c> will create
529<path>~/.gentoo/java-env-classpath</path>, which you should then source from 435<path>~/.gentoo/java-env-classpath</path>, which you should then source from
530your shell's profile. 436your shell's profile.
531</p> 437</p>
532 438
533<pre caption="Sourcing user specific classpath"> 439<pre caption="Sourcing user specific classpath">
534<i>if [[ -f "${HOME}/.gentoo/java-env-classpath" ]]; then 440<i>if [[ -f "${HOME}/.gentoo/java-env-classpath" ]]; then
535 source ${HOME}/.gentoo/java-env-classpath 441 source ${HOME}/.gentoo/java-env-classpath
541something like the following to your shell's profile. But we would advise 447something like the following to your shell's profile. But we would advise
542against it. 448against it.
543</p> 449</p>
544 450
545<pre caption="Setting classpath"> 451<pre caption="Setting classpath">
546# <i>export CLASSPATH="${CLASSPATH}:$(java-config --classpath log4j,xerces-2)"</i> 452# <i>export CLASSPATH="${CLASSPATH}:$(java-config --classpath log4j,xerces-2)"</i>
453</pre>
454
455</body>
456</section>
457</chapter>
458
459<chapter>
460<title>Java Browser Plugins</title>
461<section>
462<title>Installing a plugin</title>
463<body>
464
465<p>
466You can install a Java plugin for your web browser by emerging a Java VM with
467the <c>nsplugin</c> USE flag set.
468</p>
469
470<note>
471<c>nsplugin</c> is not available for all architectures. Check for available
472plugins on your arch before trying to install a VM by running <c>emerge -pv
473&lt;java-vm&gt;</c>.
474</note>
475
476<p>
477Portage will allow you to install multiple versions of Java plugins, though
478only one will be used by your browser. You can check the list of available
479plugins by running:
480</p>
481
482<pre caption="Viewing available plugins">
483# <i>eselect java-nsplugin list</i>
484 [1] sun-jre-bin-1.6
485 [2] icedtea-bin
486</pre>
487
488<p>
489In this example, <c>sun-jre-bin</c> is selected for the browser plugin.
490</p>
491
492<pre caption="Selecting a plugin">
493# <i>eselect java-nsplugin set sun-jre-bin-1.6</i>
494</pre>
495
496<p>
497Verify that the correct plugin was selected:
498</p>
499
500<pre caption="Verifying the correct plugin">
501# <i>eselect java-nsplugin list</i>
502 [1] sun-jre-bin-1.6 current
503 [2] icedtea-bin
504</pre>
505
506<p>
507Java.com also provides a link to <uri
508link="http://java.com/en/download/installed.jsp">verify your installed
509plugin</uri>. Additionally, if you are using a Mozilla-based browser, you can
510verify your Java plugin by typing <c>about:plugins</c> into the address bar.
511</p>
512
513</body>
514</section>
515<section>
516<title>Plugins on multilib systems</title>
517<body>
518
519<p>
520If you are running a mixed 64-bit and 32-bit multilib system (for example, on
521AMD64), you can use 64-bit and 32-bit Java plugins. Unless you have a pressing
522need to run 32-bit Java applications, we recommend using native 64-bit plugins
523on 64-bit web browsers.
524</p>
525
526<p>
527There are several native 64-bit browser plugins available. The default JDK/JRE
528pair, <c>sun-jdk</c> and <c>sun-jre-bin</c>, both include browser plugins. Just
529emerge 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>
538To 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</p>
541
542<pre caption="Installing a 32-bit plugin">
543# <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>
548Next, check which plugins are available:
549</p>
550
551<pre caption="Viewing available plugins">
552# <i>eselect java-nsplugin list</i>
553Available 32-bit Java browser plugins
554 [1] emul-linux-x86-java-1.5
555 [2] emul-linux-x86-java-1.6
556Available 64-bit Java browser plugins
557 [1] icedtea-bin
558 [2] sun-jre-bin-1.6
559</pre>
560
561<p>
562Now select the right plugin for your browsers:
563</p>
564
565<pre caption="Selecting plugins">
566<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</pre>
570
571<p>
572Verify the correct plugin was selected:
573</p>
574
575<pre caption="Verifying the correct plugin">
576# <i>eselect java-nsplugin list</i>
577Available 32-bit Java browser plugins
578 [1] emul-linux-x86-java-1.5
579 [2] emul-linux-x86-java-1.6 current
580Available 64-bit Java browser plugins
581 [1] icedtea-bin
582 [2] sun-jre-bin-1.6 current
547</pre> 583</pre>
548 584
549</body> 585</body>
550</section> 586</section>
551</chapter> 587</chapter>
570 606
571<ul> 607<ul>
572 <li>The <b>java</b> flag adds support for Java in a variety of programs</li> 608 <li>The <b>java</b> flag adds support for Java in a variety of programs</li>
573 <li> 609 <li>
574 The <b>nsplugin</b> flag adds support for Mozilla-like browsers (including 610 The <b>nsplugin</b> flag adds support for Mozilla-like browsers (including
575 Firefox).You will need this for viewing Java applets in your Mozilla-like 611 Firefox). You will need this for viewing Java applets in your Mozilla-like
576 browser. 612 browser.
577 </li> 613 </li>
578 <li> 614 <li>
579 The <b>doc</b> flag will typically install API documentation, as generated
580 by javadoc.
581 </li>
582 <li>
583 The <b>source</b> flag will install a zip of the package's source code.
584 This is typically used to provide your IDE with the source code for the
585 package.
586 </li>
587 <li>
588 The <b>source</b> flag installs a zip of the source code of a package. 615 The <b>source</b> flag installs a zip of the source code of a package.
589 This is traditionally used for for IDEs to 'attach' source to the libraries 616 This is traditionally used for IDEs to 'attach' source to the libraries you
590 you are using. 617 are using.
591 </li> 618 </li>
619 <li>The <b>jce</b> flag adds support for the Java Cryptography Engine</li>
592 <li> 620 <li>
593 For Java packages, the <b>doc</b> flag will build API documentation using 621 For Java packages, the <b>doc</b> flag will build API documentation using
594 javadoc. 622 javadoc.
595 </li> 623 </li>
596</ul> 624</ul>
628 link="http://news.gmane.org/gmane.linux.gentoo.user">gentoo-user</uri>, and 656 link="http://news.gmane.org/gmane.linux.gentoo.user">gentoo-user</uri>, and
629 <uri 657 <uri
630 link="http://news.gmane.org/gmane.linux.gentoo.devel">gentoo-dev</uri> 658 link="http://news.gmane.org/gmane.linux.gentoo.devel">gentoo-dev</uri>
631 mailing list archives 659 mailing list archives
632 </li> 660 </li>
633 <li>#gentoo and #gentoo-java on irc.freenode.net</li> 661 <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>
634 <li> 665 <li>
635 <uri 666 <uri
636 link="http://en.wikipedia.org/wiki/Java_programming_language">Wikipedia's 667 link="http://en.wikipedia.org/wiki/Java_programming_language">Wikipedia's
637 entry for Java</uri> 668 entry for Java</uri>
638 </li> 669 </li>
670 <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>
639</ul> 674</ul>
640 675
641</body> 676</body>
642</section> 677</section>
643</chapter> 678</chapter>

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.54

  ViewVC Help
Powered by ViewVC 1.1.20