1 |
<?xml version="1.0" encoding="UTF-8"?> |
2 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/java.xml,v 1.28 2006/08/08 09:51:12 rane Exp $ --> |
3 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
4 |
|
5 |
<guide link="/doc/en/java.xml"> |
6 |
<title>Gentoo Java Guide</title> |
7 |
|
8 |
<author title="Author"> |
9 |
<mail link="nichoj@gentoo.org">Joshua Nichols</mail> |
10 |
</author> |
11 |
<author title="Author"> |
12 |
<mail link="karltk@gentoo.org">Karl Trygve Kalleberg</mail> |
13 |
</author> |
14 |
<author title="Editor"> |
15 |
<mail link="nightmorph@gentoo.org">Joshua Saddler</mail> |
16 |
</author> |
17 |
|
18 |
<abstract> |
19 |
This guide will introduce you to Java and explain how to use Java with Gentoo |
20 |
Linux. |
21 |
</abstract> |
22 |
|
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 |
<license/> |
26 |
|
27 |
<version>0.7</version> |
28 |
<date>2006-08-08</date> |
29 |
|
30 |
<chapter> |
31 |
<title>What is Java?</title> |
32 |
<section> |
33 |
<title>Overview</title> |
34 |
<body> |
35 |
|
36 |
<p> |
37 |
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 |
</p> |
46 |
|
47 |
<p> |
48 |
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 |
Java Virtual Machine, plug-ins for browsers, among other things. A JDK (Java |
51 |
Development Kit) adds programming tools, such as a bytecode compiler and a |
52 |
debugger. |
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> |
65 |
The way Java is handled on Gentoo has recently seen many changes and |
66 |
improvements. This has only happened very recently, and as a result, all the |
67 |
packages related to it are marked with testing keywords, ie ~x86. This |
68 |
document 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> |
78 |
If 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 |
85 |
dev-java/ant-core |
86 |
dev-java/ant-tasks |
87 |
dev-java/ant |
88 |
dev-java/java-config |
89 |
dev-java/java-config-wrapper |
90 |
dev-java/javatoolkit |
91 |
dev-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* |
100 |
dev-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 |
107 |
virtual/jdk |
108 |
virtual/jre |
109 |
# Compilers |
110 |
dev-java/eclipse-ecj |
111 |
dev-java/jikes |
112 |
# Documentation |
113 |
dev-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 |
116 |
dev-java/lucene |
117 |
# These have optional Java support, but need ~arch to function properly |
118 |
# with generation-2 |
119 |
dev-util/subversion |
120 |
sys-libs/db |
121 |
</pre> |
122 |
|
123 |
<impo> |
124 |
It is crucial that you keyword ALL packages related to the new Java system, |
125 |
otherwise you will have problems in the later steps of this guide. |
126 |
</impo> |
127 |
|
128 |
<impo> |
129 |
It can't be emphasized enough that you have to have ALL the packages related |
130 |
to 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> |
140 |
For existing installs, regardless of if you have installed anything Java |
141 |
before, make sure you have followed the <uri |
142 |
link="/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> |
152 |
New installs should require no further preparation. |
153 |
</p> |
154 |
|
155 |
</body> |
156 |
</section> |
157 |
</chapter> |
158 |
|
159 |
<chapter> |
160 |
<title>Installing a Virtual Machine</title> |
161 |
<section> |
162 |
<title>The choices</title> |
163 |
<body> |
164 |
|
165 |
<p> |
166 |
Gentoo provides numerous Runtime Environments (JREs) and Development Kits |
167 |
(JDKs). Among the current choices, we have: |
168 |
</p> |
169 |
|
170 |
<table> |
171 |
<tr> |
172 |
<th>Vendor</th> |
173 |
<th>JDK</th> |
174 |
<th>JRE</th> |
175 |
</tr> |
176 |
<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> |
183 |
<ti>dev-java/sun-jdk</ti> |
184 |
<ti>dev-java/sun-jre-bin</ti> |
185 |
</tr> |
186 |
<tr> |
187 |
<ti>The IBM Java Kit</ti> |
188 |
<ti>dev-java/ibm-jdk-bin</ti> |
189 |
<ti>dev-java/ibm-jre-bin</ti> |
190 |
</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> |
201 |
|
202 |
<!-- |
203 |
TODO: list free implementations? |
204 |
note about not drop-in replacements |
205 |
kaffe/sablevm/gcj/jamvm |
206 |
--> |
207 |
|
208 |
<p> |
209 |
The default is Blackdown for both the JRE and the JDK, as it is freely ("free |
210 |
as in beer") available without any registration fuss. |
211 |
</p> |
212 |
|
213 |
<p> |
214 |
The 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> |
219 |
JREs and JDKs from Sun, IBM, and BEA are generally faster, but getting them |
220 |
is a bit more work, as you are required to read and accept their license before |
221 |
downloading (IBM additionally requires you to register). |
222 |
</p> |
223 |
|
224 |
</body> |
225 |
</section> |
226 |
<section> |
227 |
<title>Installing a JRE/JDKs</title> |
228 |
<body> |
229 |
|
230 |
<p> |
231 |
To install your profile's default JDK, you can run <c>emerge virtual/jdk</c>. |
232 |
Or to install your profile's default JRE, you can <c>emerge virtual/jre</c>. |
233 |
</p> |
234 |
|
235 |
<p> |
236 |
In recent events, Sun has relicensed their JDK and JRE under a more Linux |
237 |
distro friendly license. As a result, Sun releases Java 1.5 and onwards are |
238 |
freely downloadable, without any further hassle. |
239 |
</p> |
240 |
|
241 |
<note> |
242 |
A JDK also includes a JRE, so if you install a JDK you shouldn't have to also |
243 |
have to install a JRE. |
244 |
</note> |
245 |
|
246 |
</body> |
247 |
</section> |
248 |
<section> |
249 |
<title>Installing fetch-restricted virtual machines</title> |
250 |
<body> |
251 |
|
252 |
<p> |
253 |
As already mentioned, some of the JDKs and JREs require you to jump through a |
254 |
few hoops before installing. Simply emerge the packages as you normally would. |
255 |
The ebuilds will then instruct you where to go and what to download. |
256 |
</p> |
257 |
|
258 |
<p> |
259 |
You should download the indicated file(s) into |
260 |
<path>/usr/portage/distfiles</path>. Once there, you can rerun the emerge |
261 |
command, at which point the JRE/JDK will be begin to install. |
262 |
</p> |
263 |
|
264 |
</body> |
265 |
</section> |
266 |
</chapter> |
267 |
|
268 |
<chapter> |
269 |
<title>Configuring your virtual machine</title> |
270 |
<section> |
271 |
<title>Overview</title> |
272 |
<body> |
273 |
|
274 |
<p> |
275 |
Gentoo has the ability to have multiple JDKs and JREs installed without causing |
276 |
conflicts. |
277 |
</p> |
278 |
|
279 |
<p> |
280 |
Using the <c>java-config</c> tool, you can set the system-wide default |
281 |
(provided you have root access). Users can also use <c>java-config</c> to set |
282 |
up their own personal default. |
283 |
</p> |
284 |
|
285 |
<note> |
286 |
You can also use <e>eselect</e> to change the system and user vm. See |
287 |
<c>eselect java-vm help</c>. |
288 |
</note> |
289 |
|
290 |
</body> |
291 |
</section> |
292 |
<section> |
293 |
<title>Setting a default virtual machine</title> |
294 |
<body> |
295 |
|
296 |
<p> |
297 |
Running the command <c>java-config --list-available-vms</c> will give you a |
298 |
list of all JREs and JDKs installed on your system. Here is an example of |
299 |
output: |
300 |
</p> |
301 |
|
302 |
<pre caption="Listing available VMs"> |
303 |
# <i>java-config --list-available-vms</i> |
304 |
1) Blackdown JDK 1.3.1 [blackdown-jdk-1.3] (/etc/env.d/java/20blackdown-jdk-1.3) |
305 |
2) Blackdown JDK 1.4.2.02 [blackdown-jdk-1.4] (/etc/env.d/java/20blackdown-jdk-1.4) |
306 |
3) Blackdown JRE 1.4.2.02 [blackdown-jre-1.4] (/etc/env.d/java/20blackdown-jre-1.4) |
307 |
4) IBM JDK 1.4.2 [ibm-jdk-bin-1.4] (/etc/env.d/java/20ibm-jdk-bin-1.4) |
308 |
5) IBM JRE 1.4.2 [ibm-jre-bin-1.4] (/etc/env.d/java/20ibm-jre-bin-1.4) |
309 |
6) WebLogic JRockit 1.4.2.05 [jrockit-jdk-bin-1.4] (/etc/env.d/java/20jrockit-jdk-bin-1.4) |
310 |
7) WebLogic JRockit 1.5.0.03 [jrockit-jdk-bin-1.5] (/etc/env.d/java/20jrockit-jdk-bin-1.5) |
311 |
8) Sun JDK 1.3.1.13 [sun-jdk-1.3] (/etc/env.d/java/20sun-jdk-1.3) |
312 |
9) 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) |
314 |
11) Sun JRE 1.4.2.09 [sun-jre-bin-1.4] (/etc/env.d/java/20sun-jre-bin-1.4) |
315 |
12) Sun JRE 1.5.0.04 [sun-jre-bin-1.5] (/etc/env.d/java/20sun-jre-bin-1.5) |
316 |
</pre> |
317 |
|
318 |
<p> |
319 |
The <e>*</e> indicates this is the current active vm (system-vm or user-vm when |
320 |
set). The name in the brackets (<e>[]</e>) is the handle or ID for that |
321 |
particular 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. |
323 |
</p> |
324 |
|
325 |
<pre caption="Setting the System VM"> |
326 |
<comment>(By handle (preferred))</comment> |
327 |
# <i>java-config --set-system-vm blackdown-jdk-1.4</i> |
328 |
<comment>(By number)</comment> |
329 |
# <i>java-config --set-system-vm 2</i> |
330 |
</pre> |
331 |
|
332 |
<p> |
333 |
As a regular user, you can use <c>java-config --set-user-vm</c>. |
334 |
</p> |
335 |
|
336 |
<note> |
337 |
You no longer have to <c>source</c> the profile for updates to the user/system |
338 |
VM take place. |
339 |
</note> |
340 |
|
341 |
</body> |
342 |
</section> |
343 |
<section id="preferred-vm"> |
344 |
<title>Preferred VM</title> |
345 |
<body> |
346 |
|
347 |
<p> |
348 |
While merging Java packages, the VM can and will be switched as necessary. |
349 |
</p> |
350 |
|
351 |
<p> |
352 |
Because of the wide variety of available VMs, we do not have the resources to |
353 |
test and verify every package works on all of them. So to ensure that every |
354 |
packages merges smoothly, we have defined a list of <e>default/supported |
355 |
VMs</e> per arch. You can find them in |
356 |
<path>/usr/share/java-config/config/jdk-defaults.conf</path>. When you are |
357 |
merging a Java package, and it detects one of the VM in that file is installed, |
358 |
it will automatically use that VM, instead of the system-vm. |
359 |
</p> |
360 |
|
361 |
<p> |
362 |
The merge time VM switching is also needed when, for example, your system-vm is |
363 |
set a 1.4 VM and the package you are merging requires a 1.5 VM. While merging |
364 |
it will use the preferred 1.5 VM, leaving your system-vm choice intact. |
365 |
</p> |
366 |
|
367 |
<p> |
368 |
Of 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 |
370 |
which VM will get used. Some examples: |
371 |
</p> |
372 |
|
373 |
<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> |
375 |
*=sun-jdk |
376 |
</pre> |
377 |
|
378 |
<pre caption="Example /etc/java-config-2/build/jdk.conf"> |
379 |
<comment>(Always use sun-jdk-1.5 wherever possible, except for when a 1.4 or 1.3 VM is explicitly required)</comment> |
380 |
*=sun-jdk-1.5 |
381 |
</pre> |
382 |
|
383 |
<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, |
385 |
# For 1.4, use blackdown-jdk, and for 1.5, use sun-jdk </comment> |
386 |
1.3=sun-jdk-1.4 ibm-jdk-bin |
387 |
1.4=blackdown-jdk |
388 |
1.5=sun-jdk |
389 |
</pre> |
390 |
|
391 |
<warn> |
392 |
You do not have to edit this file. If you change these options to use a |
393 |
unsupported VM, things could possibly break. Bugs reported with a unsupported |
394 |
VM won't be prioritized as much as bugs present within supported VMs. |
395 |
</warn> |
396 |
|
397 |
</body> |
398 |
</section> |
399 |
</chapter> |
400 |
|
401 |
<chapter> |
402 |
<title>Compilers</title> |
403 |
<section> |
404 |
<body> |
405 |
|
406 |
<p> |
407 |
The standard Java compiler used for building is javac, which comes with each |
408 |
JDK. In addition to configuring the VM used at build time, it is also possible |
409 |
configure which compiler is used. Essentially, you define a list your |
410 |
preference for which compiler to use in |
411 |
<path>/etc/java-config-2/build/compilers.conf</path>. |
412 |
</p> |
413 |
|
414 |
<pre caption="/etc/java-config-2/build/compilers.conf"> |
415 |
# If the ebuild supports it |
416 |
# it will check the COMPILERS var front to back and |
417 |
# use the first compiler that is installed |
418 |
|
419 |
COMPILERS="ecj-3.1 jikes javac" |
420 |
</pre> |
421 |
|
422 |
<p> |
423 |
Some compilers don't support all possible -target and -source arguments. |
424 |
Therefore, each compiler in the list is checked to see if it can support the |
425 |
desired -source/-target. javac will work in all cases, so if no other suitable |
426 |
compiler is found, it will be used instead. |
427 |
</p> |
428 |
|
429 |
<p> |
430 |
More details about each compiler are provided below: |
431 |
</p> |
432 |
|
433 |
<table> |
434 |
<tr> |
435 |
<th>Name</th> |
436 |
<th>Handle</th> |
437 |
<th>Package</th> |
438 |
<th>Description</th> |
439 |
</tr> |
440 |
<tr> |
441 |
<ti>javac</ti> |
442 |
<ti>javac</ti> |
443 |
<ti>N/A</ti> |
444 |
<ti> |
445 |
This is the default compiler that will be used, and comes with each JDK. |
446 |
</ti> |
447 |
</tr> |
448 |
<tr> |
449 |
<ti>jikes</ti> |
450 |
<ti>jikes</ti> |
451 |
<ti>dev-java/jikes</ti> |
452 |
<ti> |
453 |
Jikes was originally developed by IBM. Anecdotally, it is generally quicker |
454 |
than javac. Note however, that it is more pedantic, and will fail under a |
455 |
few circumstances where javac has no issue. It also does not support Java |
456 |
1.5 syntax yet. |
457 |
</ti> |
458 |
</tr> |
459 |
<tr> |
460 |
<ti>Eclipse Compiler for Java</ti> |
461 |
<ti>ecj-3.1</ti> |
462 |
<ti>=dev-java/eclipse-ecj-3.1*</ti> |
463 |
<ti> |
464 |
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. |
466 |
</ti> |
467 |
</tr> |
468 |
</table> |
469 |
|
470 |
</body> |
471 |
</section> |
472 |
</chapter> |
473 |
|
474 |
<chapter> |
475 |
<title>Setting a default CLASSPATH</title> |
476 |
<section> |
477 |
<body> |
478 |
|
479 |
<warn> |
480 |
The options explained in this section should be considered deprecated and will |
481 |
most likely be removed in the future. We strongly recommend against using |
482 |
these, because your Java projects or application should ideally manage their |
483 |
own classpaths. If you choose to specify a default CLASSPATH, some applications |
484 |
may behave unexpectedly, because classes they weren't expecting would be on the |
485 |
classpath. |
486 |
</warn> |
487 |
|
488 |
<p> |
489 |
<c>java-config</c> can also be used to set a system-wide default CLASSPATH, as |
490 |
well a user-specific default CLASSPATH. |
491 |
</p> |
492 |
|
493 |
<p> |
494 |
First, you will want to list available Java libraries installed on your system |
495 |
that might want to be put in your CLASSPATH. Here is an example of output: |
496 |
</p> |
497 |
|
498 |
<pre caption="Listing classes"> |
499 |
# <i>java-config --list-available-packages</i> |
500 |
[xerces-2] The next generation of high performance, fully compliant XML parsers in the Apache Xerces family (/usr/share/xerces-2/package.env) |
501 |
[junit] Simple framework to write repeatable tests (/usr/share/junit/package.env) |
502 |
[bsh] BeanShell: A small embeddable Java source interpreter (/usr/share/bsh/package.env) |
503 |
[bcel] The Byte Code Engineering Library: analyze, create, manipulate Java class files (/usr/share/bcel/package.env) |
504 |
[log4j] A low-overhead robust logging package for Java (/usr/share/log4j/package.env) |
505 |
... |
506 |
</pre> |
507 |
|
508 |
<p> |
509 |
Again, the names in brackets (<e>[]</e>) are the IDs that you have to pass to |
510 |
<c>java-config --set-system-classpath</c>. Here is an example: |
511 |
</p> |
512 |
|
513 |
<pre caption="Setting classpaths"> |
514 |
# <i>java-config --set-system-classpath log4j,xerces-2</i> |
515 |
</pre> |
516 |
|
517 |
<note> |
518 |
The current directory (<path>.</path>) will not be part of the system |
519 |
classpath, as that should be added in your system's login profile. |
520 |
</note> |
521 |
|
522 |
<p> |
523 |
You will have to update your environment by logging out, then in again or |
524 |
sourcing <path>/etc/profile</path>. |
525 |
</p> |
526 |
|
527 |
<p> |
528 |
For users, <c>java-config --set-user-classpath</c> will create |
529 |
<path>~/.gentoo/java-env-classpath</path>, which you should then source from |
530 |
your shell's profile. |
531 |
</p> |
532 |
|
533 |
<pre caption="Sourcing user specific classpath"> |
534 |
<i>if [[ -f "${HOME}/.gentoo/java-env-classpath" ]]; then |
535 |
source ${HOME}/.gentoo/java-env-classpath |
536 |
fi</i> |
537 |
</pre> |
538 |
|
539 |
<p> |
540 |
If you really want a system wide or user default classpath you can add |
541 |
something like the following to your shell's profile. But we would advise |
542 |
against it. |
543 |
</p> |
544 |
|
545 |
<pre caption="Setting classpath"> |
546 |
# <i>export CLASSPATH="${CLASSPATH}:$(java-config --classpath log4j,xerces-2)"</i> |
547 |
</pre> |
548 |
|
549 |
</body> |
550 |
</section> |
551 |
</chapter> |
552 |
|
553 |
<chapter> |
554 |
<title>USE flags for use with Java</title> |
555 |
<section> |
556 |
<title>Setting USE flags</title> |
557 |
<body> |
558 |
|
559 |
<p> |
560 |
For more information regarding USE flags, refer to the <uri |
561 |
link="/doc/en/handbook/handbook-x86.xml?part=2&chap=2">USE flags</uri> |
562 |
chapter from the Gentoo Handbook. |
563 |
</p> |
564 |
|
565 |
</body> |
566 |
</section> |
567 |
<section> |
568 |
<title>The flags</title> |
569 |
<body> |
570 |
|
571 |
<ul> |
572 |
<li>The <b>java</b> flag adds support for Java in a variety of programs</li> |
573 |
<li> |
574 |
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 |
576 |
browser. |
577 |
</li> |
578 |
<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. |
589 |
This is traditionally used for for IDEs to 'attach' source to the libraries |
590 |
you are using. |
591 |
</li> |
592 |
<li> |
593 |
For Java packages, the <b>doc</b> flag will build API documentation using |
594 |
javadoc. |
595 |
</li> |
596 |
</ul> |
597 |
|
598 |
</body> |
599 |
</section> |
600 |
</chapter> |
601 |
|
602 |
<chapter> |
603 |
<title>Additional resources</title> |
604 |
<section> |
605 |
<title>Off-line resources</title> |
606 |
<body> |
607 |
|
608 |
<ul> |
609 |
<li>java-config man page</li> |
610 |
<li><c>java-config --help</c></li> |
611 |
</ul> |
612 |
|
613 |
</body> |
614 |
</section> |
615 |
<section> |
616 |
<title>Online resources</title> |
617 |
<body> |
618 |
|
619 |
<ul> |
620 |
<li> |
621 |
The <uri link="http://www.gentoo.org/proj/en/java/">Java Project |
622 |
Page</uri> |
623 |
</li> |
624 |
<li> |
625 |
The <uri |
626 |
link="http://news.gmane.org/gmane.linux.gentoo.java">gentoo-java</uri>, |
627 |
<uri |
628 |
link="http://news.gmane.org/gmane.linux.gentoo.user">gentoo-user</uri>, and |
629 |
<uri |
630 |
link="http://news.gmane.org/gmane.linux.gentoo.devel">gentoo-dev</uri> |
631 |
mailing list archives |
632 |
</li> |
633 |
<li>#gentoo and #gentoo-java on irc.freenode.net</li> |
634 |
<li> |
635 |
<uri |
636 |
link="http://en.wikipedia.org/wiki/Java_programming_language">Wikipedia's |
637 |
entry for Java</uri> |
638 |
</li> |
639 |
</ul> |
640 |
|
641 |
</body> |
642 |
</section> |
643 |
</chapter> |
644 |
</guide> |