/[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.2 - (show annotations) (download) (as text)
Fri Nov 15 18:39:34 2002 UTC (11 years, 10 months ago) by zhen
Branch: MAIN
Changes since 1.1: +1 -1 lines
File MIME type: application/xml
changed all of the <guide link> tags so that they are current

1 <?xml version='1.0'?>
2 <?xml-stylesheet href="/xsl/guide.xsl" type="text/xsl"?>
3 <guide link = "/doc/en/java.xml">
4 <title>Gentoo Java Guide</title>
5 <author title="Author and Editor">
6 <mail link="karltk@gentoo.org">Karl Trygve Kalleberg</mail>
7 </author>
8
9 <abstract>
10 Users' and Developers' Guide to Java in Gentoo
11 </abstract>
12
13 <version>0.1.1</version>
14 <date>June 25, 2002</date>
15
16 <chapter>
17
18 <title>Installing a JDK/JRE</title>
19 <section>
20 <title>Overview</title>
21 <body>
22 <p>Gentoo provides numerous JDKs and JREs. The default is the
23 Blackdown JDK/JRE pair, as it is freely (beer) available without any
24 registration fuss.</p>
25
26 <note>As kaffe becomes a JRE/JDK drop-in replacement, that will most
27 likely become our default.</note>
28
29 <p>Both the Sun JDK/JRE and the IBM JDK/JRE are generally faster, but
30 getting them is a bit more work, as you are required to read and
31 accept their license before downloading (IBM additionally requires you
32 to register).</p>
33
34 <p>Our ebuilds for the Sun and IBM JDK/JREs will notify you of where
35 to go to download them.</p>
36 </body>
37 </section>
38
39 <section>
40 <title>Installing the Sun/IBM JDK/JREs</title>
41 <body>
42 <p>If you run <c>emerge dev-java/sun-jdk-1.3.1</c> or <c>emerge
43 dev-java/ibm-jdk-1.3.1</c>, you will be notified that you are required
44 to download the actual tarballs yourself. This has to do with license
45 restrictions for the Sun JDK/JRE (online click-wrap license) and
46 registration issues with the IBM JDK/JRE.</p>
47
48 <note>There is also a dev-java/sun-jdk-1.4.0, but not all packages
49 work nicely with Java 1.4, so you're on your own if you use the 1.4.0
50 JDK.</note>
51
52 <p>You should download the indicated file(s) into
53 <path>/usr/portage/distfiles</path>. Once that is done, you can rerun
54 the emerge command, then the JDK/JRE will be installed properly into
55 <path>/opt</path>.</p>
56 </body>
57 </section>
58 </chapter>
59
60 <chapter>
61 <title>Configuring your JDK/JRE</title>
62 <section>
63 <title>Overview</title>
64 <body>
65 <p>Gentoo has the ability to have multiple JDKs and JREs installed
66 without them conflicting. There are a few caveats to this, as noted
67 below.</p>
68
69 <p>Using the <c>java-config</c> tool, you can set the system-wide
70 default if you have root access. Users can also use <c>java-config</c>
71 to set up their own personal default, that is different from the
72 system-wide default.</p>
73 </body>
74 </section>
75
76 <section>
77 <title>Setting a default JDK/JRE</title>
78 <body>
79 <p>Running the command <c>java-config --list-available-vms</c> will
80 give you a list of all availble JREs and JDKs on your system, thus:</p>
81 <pre>
82 [%1 ~] java-config --list-available-vms
83 [blackdown-jdk-1.3.1] Blackdown JDK 1.3.1 (/etc/env.d/java/20blackdown-jdk-1.3.1)
84 [blackdown-jre-1.3.1] Blackdown JRE 1.3.1 (/etc/env.d/java/20blackdown-jre-1.3.1)
85 [ibm-jdk-1.3.0] IBM JDK 1.3.0 (/etc/env.d/java/20ibm-jdk-1.3.0)
86 [ibm-jdk-1.3.1] IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)
87 [ibm-jre-1.3.1] IBM JRE 1.3.1 (/etc/env.d/java/20ibm-jre-1.3.1)
88 [sun-jdk-1.4.0] Sun JDK 1.4.0 (/etc/env.d/java/20sun-jdk-1.4.0)
89 </pre>
90 <p>The name in the brackets <path>"[]"</path> is the handle or ID for
91 that particular VM. You use pass that ID to <c>java-config
92 --set-system-vm</c>, thus:</p>
93 <pre>
94 [#1 ~] java-config --set-system-vm=ibm-jdk-1.3.1
95 Now using IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)
96 </pre>
97
98 <note>You will have to be root to run --set-system-vm</note>
99
100 <p>Once you have issued <c>java-config --set-system-vm</c> with a
101 particular VM ID, you will need to regenerate your /etc/profile.env,
102 thus:</p>
103 <pre>
104 [#1 ~] env-update
105 </pre>
106
107 <p>After this, you will either want to relogin, or resource
108 <path>/etc/profile</path> into your environment.</p>
109
110 <p>As a regular user, you can use <c>java-config --set-user-vm</c>,
111 which will create <path>$HOME/.gentoo/java-env</path> with all
112 required env vars. You would normally source this from your shell's
113 startup script (<path>$HOME/.zshenv</path> in my case).</p>
114 </body>
115 </section>
116
117 <section>
118 <title>Setting a default CLASSPATH</title>
119 <body>
120 <p><c>java-config</c> can also be used to set a system-wide default
121 CLASSPATH, and of course a user-specific default CLASSPATH.</p>
122
123 <p>First you want to list available java libraries that might be
124 interesting to put in your CLASSPATH, thus:</p>
125 <pre>
126 [%1 ~] java-config --list-available-packages
127 [ant] No description (/usr/share/ant/classpath.env)
128 [java-gnome] No description (/usr/share/java-gnome/classpath.env)
129 [java-gtk] No description (/usr/share/java-gtk/classpath.env)
130 [log4j] "" (/usr/share/log4j/package.env)
131 </pre>
132
133 <note>None of these packages have a proper description. That is
134 something that will be implemented in the not-so-distant
135 future.</note>
136
137 <p>Again, the name in brackets <path>"[]"</path> are the IDs that you
138 have to pass to <c>java-config --set-system-classpath</c>, thus:</p>
139 <pre>
140 java-config --set-system-classpath=log4j,java-gtk,java-gnome
141 </pre>
142 <note>The current directory (.) will not be part of the system classpath,
143 as that should be added in root's login profile.</note>
144 <p>Again, you will want to run <c>env-update</c> to update your
145 system's environment, and you might also want to relogin or resource
146 the <path>/etc/profile</path>.</p>
147 <p>For users, <c>java-config --set-user-classpath</c> will create
148 <path>$HOME/.gentoo/java-env-classpath</path>, which is automatically
149 included by <path>$HOME/.gentoo/java-env</path>.</p>
150 </body>
151 </section>
152 </chapter>
153
154 <chapter>
155 <title>Additional resources</title>
156 <section>
157 <title>Off-line resources</title>
158 <body>
159 <ul>
160 <li>java-config man page</li>
161 <li><c>java-config --help</c></li>
162 <li>The <path>/usr/bin/java-config</path> script itself</li>
163 </ul>
164 </body>
165 </section>
166 <section>
167 <title>Online resources</title>
168 <body>
169 <ul>
170 <li>The <uri link="http://lists.gentoo.org/pipermail/gentoo-dev/">
171 gentoo-dev </uri>,
172 <uri link="http://lists.gentoo.org/pipermail/gentoo-user/"> gentoo-user
173 </uri> mailing list archives</li>
174 <li>#gentoo on irc.openprojects.net</li>
175 </ul>
176 </body>
177 </section>
178 </chapter>
179 <chapter>
180 <title>Caveats</title>
181 <section>
182 <title>General</title>
183 <body>
184 <p>If you select a JRE as your default VM, you may not have a
185 <c>javac</c> command handy at all times, unless you have manually
186 installed a symlink to take care of that.</p>
187
188 <p>Jikes will be used to compile some of the largest packages, if it
189 is available. With time, we hope to be able to compile all
190 java-dependent packages with Jikes, so some dependencies on the JDK
191 can be replaced with a dependency on the JRE.</p>
192
193 <p>With some versions of Portage, doing an <c>emerge --world
194 update</c> will install the JDK regardless if whether you have it
195 installed before or not. This is a known bug addressed in later
196 versions of Portage.</p>
197 </body>
198 </section>
199 </chapter>
200 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20