/[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.51
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.51 2011/05/09 21:36:03 nightmorph 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>2</version>
28<date>2006-08-08</date> 28<date>2011-05-09</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>
178 <ti>dev-java/blackdown-jdk</ti>
179 <ti>dev-java/blackdown-jre</ti>
180</tr>
181<tr>
182 <ti>Sun's Java Kit</ti> 77 <ti>Sun's Java Kit</ti>
183 <ti>dev-java/sun-jdk</ti> 78 <ti>dev-java/sun-jdk</ti>
184 <ti>dev-java/sun-jre-bin</ti> 79 <ti>dev-java/sun-jre-bin</ti>
185</tr> 80</tr>
186<tr> 81<tr>
187 <ti>The IBM Java Kit</ti> 82 <ti>The IBM Java Kit</ti>
188 <ti>dev-java/ibm-jdk-bin</ti> 83 <ti>dev-java/ibm-jdk-bin</ti>
189 <ti>dev-java/ibm-jre-bin</ti> 84 <ti>dev-java/ibm-jre-bin</ti>
190</tr> 85</tr>
191<tr> 86<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> 87 <ti>BEA WebLogic's J2SE Development Kit</ti>
198 <ti>dev-java/jrockit-jdk-bin</ti> 88 <ti>dev-java/jrockit-jdk-bin</ti>
199</tr> 89</tr>
90<tr>
91 <ti>The IcedTea Open Java Kit</ti>
92 <ti>dev-java/icedtea6-bin</ti>
93</tr>
200</table> 94</table>
201 95
202<!-- 96<!--
203TODO: list free implementations? 97TODO: list free implementations?
204note about not drop-in replacements 98note about not drop-in replacements
205kaffe/sablevm/gcj/jamvm 99kaffe/sablevm/gcj/jamvm
206--> 100-->
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> 101</body>
225</section> 102</section>
226<section> 103<section>
227<title>Installing a JRE/JDKs</title> 104<title>Installing a JRE/JDKs</title>
228<body> 105<body>
231To install your profile's default JDK, you can run <c>emerge virtual/jdk</c>. 108To 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>. 109Or to install your profile's default JRE, you can <c>emerge virtual/jre</c>.
233</p> 110</p>
234 111
235<p> 112<p>
236In recent events, Sun has relicensed their JDK and JRE under a more Linux 113Some 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 114License Agreement, or EULA. If its license (such as dlj-1.1) is not listed in
238freely downloadable, without any further hassle. 115ACCEPT_LICENSE in <path>/etc/make.conf</path>, then you won't be able to install
116the JDK/JRE. For more information on how to add acceptable licenses to
117<path>make.conf</path>, please read the <uri
118link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1#doc_chap4">Portage
119Handbook</uri>.
120</p>
121
122<p>
123To avoid any restrictive license hassle, consider installing
124<c>icedtea6-bin</c>, which is an open Java implementation from the OpenJDK
125project.
239</p> 126</p>
240 127
241<note> 128<note>
242A JDK also includes a JRE, so if you install a JDK you shouldn't have to also 129A JDK also includes a JRE, so if you install a JDK you shouldn't have to also
243have to install a JRE. 130have to install a JRE.
248<section> 135<section>
249<title>Installing fetch-restricted virtual machines</title> 136<title>Installing fetch-restricted virtual machines</title>
250<body> 137<body>
251 138
252<p> 139<p>
253As already mentioned, some of the JDKs and JREs require you to jump through a 140Some 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. 141installing. Simply emerge the packages as you normally would. The ebuilds will
255The ebuilds will then instruct you where to go and what to download. 142then instruct you where to go and what to download.
256</p> 143</p>
257 144
258<p> 145<p>
259You should download the indicated file(s) into 146You should download the indicated file(s) into
260<path>/usr/portage/distfiles</path>. Once there, you can rerun the emerge 147<path>/usr/portage/distfiles</path>. Once there, you can rerun the emerge
299output: 186output:
300</p> 187</p>
301 188
302<pre caption="Listing available VMs"> 189<pre caption="Listing available VMs">
303# <i>java-config --list-available-vms</i> 190# <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) 191The 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) 1921) IcedTea6-bin 1.4.1 [icedtea6-bin]
3063) Blackdown JRE 1.4.2.02 [blackdown-jre-1.4] (/etc/env.d/java/20blackdown-jre-1.4) 1932) 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) 194*) 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> 195</pre>
196
197<note>
198VMs marked as Build Only may contain security vulnerabilities and/or be EOL.
199Gentoo recommends not setting these VMs as either your system or user VM.
200Please see <uri link="java.xml#build-only">Build Only VM</uri> for more
201information.
202</note>
317 203
318<p> 204<p>
319The <e>*</e> indicates this is the current active vm (system-vm or user-vm when 205The <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 206set). 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 207particular 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. 208--set-system-vm</c>. Here is an example of how to set the system VM.
323</p> 209</p>
324 210
325<pre caption="Setting the System VM"> 211<pre caption="Setting the System VM">
326<comment>(By handle (preferred))</comment> 212<comment>(By handle (preferred))</comment>
327# <i>java-config --set-system-vm blackdown-jdk-1.4</i> 213# <i>java-config --set-system-vm sun-jdk-1.6</i>
214Now using sun-jdk-1.6 as your generation-2 system JVM
328<comment>(By number)</comment> 215<comment>(By number)</comment>
329# <i>java-config --set-system-vm 2</i> 216# <i>java-config --set-system-vm 3</i>
217Now using sun-jdk-1.6 as your generation-2 system JVM
330</pre> 218</pre>
331 219
332<p> 220<p>
333As a regular user, you can use <c>java-config --set-user-vm</c>. 221As a regular user, you can use <c>java-config --set-user-vm</c>.
334</p> 222</p>
338VM take place. 226VM take place.
339</note> 227</note>
340 228
341</body> 229</body>
342</section> 230</section>
231<section id="build-only">
232<title>Build Only VM</title>
233<body>
234
235<p>
236Some virtual machines are flagged as build-only due to being EOL and/or
237containing security vulnerabilities. These virtual machines will not
238automatically be used by Gentoo for the running of applications using Gentoo
239launchers but will still be available for use by Gentoo's build environment as
240some packages may require them for building. The setting of these virtual
241machines as either your system or user VM is strongly discouraged as these VMs
242will then be used when running the <path>/usr/bin/{java,javac,..}</path>
243executables and will also be used by any packages not using Gentoo's launcher
244scripts.
245</p>
246
247</body>
248</section>
343<section id="preferred-vm"> 249<section id="preferred-vm">
344<title>Preferred VM</title> 250<title>Preferred Build VM</title>
345<body> 251<body>
346 252
347<p>
348While merging Java packages, the VM can and will be switched as necessary.
349</p> 253<p>
350 254While merging Java packages, the VM used for building can sometimes be different
255from the one currently set as the system VM.
351<p> 256</p>
352Because of the wide variety of available VMs, we do not have the resources to 257
353test and verify every package works on all of them. So to ensure that every 258<p>
354packages merges smoothly, we have defined a list of <e>default/supported 259This merge time VM switching is needed when, for example, your system-vm is
260set to a 1.6 VM and the package you are merging requires a 1.5 VM. While merging
261it will select and use a 1.5 VM, leaving your system-vm choice intact.
262</p>
263
264<p>
265To 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 266VMs</e> per arch. You can find them in
356<path>/usr/share/java-config/config/jdk-defaults.conf</path>. When you are 267<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> 268</p>
362The merge time VM switching is also needed when, for example, your system-vm is 269
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> 270<p>
366 271You 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 272<path>/etc/java-config-2/build/jdk.conf</path> and have complete control over
370which VM will get used. Some examples: 273which VM will get used for merging. Some examples:
371</p> 274</p>
372 275
373<pre caption="Example /etc/java-config-2/build/jdk.conf"> 276<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> 277<comment>(I always want it to use a sun-jdk, ie sun-jdk-1.4 for 1.4, sun-jdk-1.5 for 1.5, etc)</comment>
375*=sun-jdk 278*=sun-jdk
380*=sun-jdk-1.5 283*=sun-jdk-1.5
381</pre> 284</pre>
382 285
383<pre caption="Example /etc/java-config-2/build/jdk.conf"> 286<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, 287<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> 288# For 1.5, use sun-jdk </comment>
3861.3=sun-jdk-1.4 ibm-jdk-bin 2891.3=sun-jdk-1.4 ibm-jdk-bin
3871.4=blackdown-jdk
3881.5=sun-jdk 2901.5=sun-jdk
389</pre> 291</pre>
390 292
391<warn> 293<warn>
392You do not have to edit this file. If you change these options to use a 294You 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 295unsupported VM, things could possibly break. Because of the wide variety of
296available VMs, we do not have the resources to test and verify every package
297works 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. 298as much as bugs present within supported VMs.
395</warn> 299</warn>
396 300
397</body> 301</body>
398</section> 302</section>
399</chapter> 303</chapter>
402<title>Compilers</title> 306<title>Compilers</title>
403<section> 307<section>
404<body> 308<body>
405 309
406<p> 310<p>
407The standard Java compiler used for building is javac, which comes with each 311The 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 312each 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 313possible configure which compiler is used. Essentially, you define a list your
410preference for which compiler to use in 314preference for which compiler to use in
411<path>/etc/java-config-2/build/compilers.conf</path>. 315<path>/etc/java-config-2/build/compilers.conf</path>.
412</p> 316</p>
413 317
414<pre caption="/etc/java-config-2/build/compilers.conf"> 318<pre caption="/etc/java-config-2/build/compilers.conf">
415# If the ebuild supports it 319# If the ebuild supports it
416# it will check the COMPILERS var front to back and 320# it will check the COMPILERS var front to back and
417# use the first compiler that is installed 321# use the first compiler that is installed
418 322
419COMPILERS="ecj-3.1 jikes javac" 323COMPILERS="ecj-X.Y jikes javac"
420</pre> 324</pre>
421 325
422<p> 326<p>
423Some compilers don't support all possible -target and -source arguments. 327Some 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 328Therefore, each compiler in the list is checked to see if it can support the
456 1.5 syntax yet. 360 1.5 syntax yet.
457 </ti> 361 </ti>
458</tr> 362</tr>
459<tr> 363<tr>
460 <ti>Eclipse Compiler for Java</ti> 364 <ti>Eclipse Compiler for Java</ti>
461 <ti>ecj-3.1</ti> 365 <ti>ecj</ti>
462 <ti>=dev-java/eclipse-ecj-3.1*</ti> 366 <ti>dev-java/eclipse-ecj</ti>
463 <ti> 367 <ti>
464 ECJ is the compiler used by the Eclipse software development kit. It is 368 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. 369 very full featured, and is pretty fast. It does support Java 1.5 syntax.
466 </ti> 370 </ti>
467</tr> 371</tr>
525</p> 429</p>
526 430
527<p> 431<p>
528For users, <c>java-config --set-user-classpath</c> will create 432For users, <c>java-config --set-user-classpath</c> will create
529<path>~/.gentoo/java-env-classpath</path>, which you should then source from 433<path>~/.gentoo/java-env-classpath</path>, which you should then source from
530your shell's profile. 434your shell's profile.
531</p> 435</p>
532 436
533<pre caption="Sourcing user specific classpath"> 437<pre caption="Sourcing user specific classpath">
534<i>if [[ -f "${HOME}/.gentoo/java-env-classpath" ]]; then 438<i>if [[ -f "${HOME}/.gentoo/java-env-classpath" ]]; then
535 source ${HOME}/.gentoo/java-env-classpath 439 source ${HOME}/.gentoo/java-env-classpath
541something like the following to your shell's profile. But we would advise 445something like the following to your shell's profile. But we would advise
542against it. 446against it.
543</p> 447</p>
544 448
545<pre caption="Setting classpath"> 449<pre caption="Setting classpath">
546# <i>export CLASSPATH="${CLASSPATH}:$(java-config --classpath log4j,xerces-2)"</i> 450# <i>export CLASSPATH="${CLASSPATH}:$(java-config --classpath log4j,xerces-2)"</i>
451</pre>
452
453</body>
454</section>
455</chapter>
456
457<chapter>
458<title>Java Browser Plugins</title>
459<section>
460<title>Installing a plugin</title>
461<body>
462
463<p>
464You can install a Java plugin for your web browser by emerging a Java VM with
465the <c>nsplugin</c> USE flag set.
466</p>
467
468<note>
469<c>nsplugin</c> is not available for all architectures. Check for available
470plugins on your arch before trying to install a VM by running <c>emerge -pv
471&lt;java-vm&gt;</c>.
472</note>
473
474<p>
475Portage will allow you to install multiple versions of Java plugins, though
476only one will be used by your browser. You can check the list of available
477plugins by running:
478</p>
479
480<pre caption="Viewing available plugins">
481# <i>eselect java-nsplugin list</i>
482 [1] sun-jre-bin-1.6
483 [2] icedtea6-bin
484</pre>
485
486<p>
487In this example, <c>sun-jre-bin</c> is selected for the browser plugin.
488</p>
489
490<pre caption="Selecting a plugin">
491# <i>eselect java-nsplugin set sun-jre-bin-1.6</i>
492</pre>
493
494<p>
495Verify that the correct plugin was selected:
496</p>
497
498<pre caption="Verifying the correct plugin">
499# <i>eselect java-nsplugin list</i>
500 [1] sun-jre-bin-1.6 current
501 [2] icedtea6-bin
502</pre>
503
504<p>
505Java.com also provides a link to <uri
506link="http://java.com/en/download/installed.jsp">verify your installed
507plugin</uri>. Additionally, if you are using a Mozilla-based browser, you can
508verify your Java plugin by typing <c>about:plugins</c> into the address bar.
509</p>
510
511</body>
512</section>
513<section>
514<title>Plugins on multilib systems</title>
515<body>
516
517<p>
518If you are running a mixed 64-bit and 32-bit multilib system (for example, on
519AMD64), you can use 64-bit and 32-bit Java plugins. Unless you have a pressing
520need to run 32-bit Java applications, we recommend using native 64-bit plugins
521on 64-bit web browsers.
522</p>
523
524<p>
525There are several native 64-bit browser plugins available. The default JDK/JRE
526pair, <c>sun-jdk</c> and <c>sun-jre-bin</c>, both include browser plugins. Just
527emerge one of them with the <c>nsplugin</c> USE flag enabled.
528</p>
529
530<pre caption="Installing a 64-bit plugin">
531# <i>echo "dev-java/sun-jre-bin nsplugin" >> /etc/portage/package.use</i>
532# <i>emerge sun-jre-bin</i>
533</pre>
534
535<p>
536To use a 32-bit plugin on a 32-bit browser, you will need to emerge
537<c>emul-linux-x86-java</c> with the <c>nsplugin</c> USE flag enabled.
538</p>
539
540<pre caption="Installing a 32-bit plugin">
541# <i>echo "app-emulation/emul-linux-x86-java nsplugin" >> /etc/portage/package.use</i>
542# <i>emerge emul-linux-x86-java</i>
543</pre>
544
545<p>
546Next, check which plugins are available:
547</p>
548
549<pre caption="Viewing available plugins">
550# <i>eselect java-nsplugin list</i>
551Available 32-bit Java browser plugins
552 [1] emul-linux-x86-java-1.5
553 [2] emul-linux-x86-java-1.6
554Available 64-bit Java browser plugins
555 [1] icedtea6-bin
556 [2] sun-jre-bin-1.6
557</pre>
558
559<p>
560Now select the right plugin for your browsers:
561</p>
562
563<pre caption="Selecting plugins">
564<comment>(Choose the plugins for 32-bit and 64-bit browsers)</comment>
565# <i>eselect java-nsplugin set 32bit emul-linux-x86-java-1.6</i>
566# <i>eselect java-nsplugin set 64bit sun-jre-bin-1.6</i>
567</pre>
568
569<p>
570Verify the correct plugin was selected:
571</p>
572
573<pre caption="Verifying the correct plugin">
574# <i>eselect java-nsplugin list</i>
575Available 32-bit Java browser plugins
576 [1] emul-linux-x86-java-1.5
577 [2] emul-linux-x86-java-1.6 current
578Available 64-bit Java browser plugins
579 [1] icedtea6-bin
580 [2] sun-jre-bin-1.6 current
547</pre> 581</pre>
548 582
549</body> 583</body>
550</section> 584</section>
551</chapter> 585</chapter>
570 604
571<ul> 605<ul>
572 <li>The <b>java</b> flag adds support for Java in a variety of programs</li> 606 <li>The <b>java</b> flag adds support for Java in a variety of programs</li>
573 <li> 607 <li>
574 The <b>nsplugin</b> flag adds support for Mozilla-like browsers (including 608 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 609 Firefox). You will need this for viewing Java applets in your Mozilla-like
576 browser. 610 browser.
577 </li> 611 </li>
578 <li> 612 <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. 613 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 614 This is traditionally used for IDEs to 'attach' source to the libraries you
590 you are using. 615 are using.
591 </li> 616 </li>
617 <li>The <b>jce</b> flag adds support for the Java Cryptography Engine</li>
592 <li> 618 <li>
593 For Java packages, the <b>doc</b> flag will build API documentation using 619 For Java packages, the <b>doc</b> flag will build API documentation using
594 javadoc. 620 javadoc.
595 </li> 621 </li>
596</ul> 622</ul>
628 link="http://news.gmane.org/gmane.linux.gentoo.user">gentoo-user</uri>, and 654 link="http://news.gmane.org/gmane.linux.gentoo.user">gentoo-user</uri>, and
629 <uri 655 <uri
630 link="http://news.gmane.org/gmane.linux.gentoo.devel">gentoo-dev</uri> 656 link="http://news.gmane.org/gmane.linux.gentoo.devel">gentoo-dev</uri>
631 mailing list archives 657 mailing list archives
632 </li> 658 </li>
633 <li>#gentoo and #gentoo-java on irc.freenode.net</li> 659 <li>
660 <uri link="irc://irc.gentoo.org/gentoo">#gentoo</uri> and <uri
661 link="irc://irc.gentoo.org/gentoo-java">#gentoo-java</uri> on IRC
662 </li>
634 <li> 663 <li>
635 <uri 664 <uri
636 link="http://en.wikipedia.org/wiki/Java_programming_language">Wikipedia's 665 link="http://en.wikipedia.org/wiki/Java_programming_language">Wikipedia's
637 entry for Java</uri> 666 entry for Java</uri>
638 </li> 667 </li>
668 <li>
669 If you have suggestions or questions regarding this document, please email
670 the Gentoo Java team: <mail>java@gentoo.org</mail>
671 </li>
639</ul> 672</ul>
640 673
641</body> 674</body>
642</section> 675</section>
643</chapter> 676</chapter>

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

  ViewVC Help
Powered by ViewVC 1.1.20