[fedora-java] orienting question

Deepak Bhole dbhole at redhat.com
Thu Feb 26 22:01:02 UTC 2009


* Andrew Overholt <overholt at redhat.com> [2009-02-26 16:25]:
> Hi,
> 
> On Thu, 2009-02-26 at 14:33 -0500, Mike Carifio wrote:
> > I'm trying to understand what I actually get when I install openjdk and 
> > openjdk-devel on fc10. Is there a document that describes what's where
> > and why? 
> > http://fedoraproject.org/wiki/Packaging/Java#Directory_structure gives 
> > some hints, but it's more mechanical. For example:
> > 
> > 1) What's JAVA_HOME, if I wanted to set it?
> 
> /usr/lib/jvm/java
> 
> > 2) What's the default classpath when I run java?
> 
> Good question.  OpenJDK team?
>

What do you mean by default classpath when you run java? When you run
java, you are invoking the java binary directly. Since there is no
wrapper involved, the only classes loaded are those that are loaded by
the boot loader from jre/lib directory of JAVA_HOME

> > 3) Is jpackage the preferred way to install third party jars? What if 
> > jpackage doesn't have what I want? Do I do it by hand? Where do I put it?
> 
> Ideally everything would be in Fedora.  JPackage can't guarantee
> compatibility with Fedora and Fedora can't guarantee compatibility with
> JPackage.  However, installing things from JPackage will hopefully work
> for most cases.  As for Fedora or JPackage not having it, it's sort of
> up to you.  If you want to put it some place like an RPM would put it,
> you could follow the packaging guidelines:
> 
> http://fedoraproject.org/wiki/Packaging/Java
> 
> Or, even better, you could package it up!  :)  If you see things that
> are missing the guidelines, please let us know.
> 
> > 4) Maven (and ivy too) do a good job of chasing dependencies among jars.
> > How does that work, if at all, with openjdk on fc10.
> 
> RPMs have their own dependency layer.  Deepak (CC'd) has done a lot of
> work to ensure that maven builds work in the "RPM way".  I'll let him
> explain.
> 

Maven is designed to work in a networked environment where it has access
to multiple versions of the same modules. Since Fedora builds need to be
offline, and in most cases, have only one version of any given module,
we patch maven in Fedora to work nice with those restrictions. Packaging
for maven builds in Fedora involves 1) supplying a "dependency map" of
how a group/artifactid matches to a file on system, and 2) calling the
mvn-jpp wrapper script. Details are for packaging are th maven here:

http://fedoraproject.org/wiki/Java/JPPMavenReadme

Cheers,
Deepak




More information about the fedora-devel-java-list mailing list