/[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.1 - (hide annotations) (download) (as text)
Sat Nov 9 18:47:44 2002 UTC (11 years, 8 months ago) by drobbins
Branch: MAIN
File MIME type: application/xml
try #10030

1 drobbins 1.1 <?xml version='1.0'?>
2     <?xml-stylesheet href="/xsl/guide.xsl" type="text/xsl"?>
3     <guide>
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