Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 May 2001 04:51:10 +0930
From:      Greg Lewis <glewis@eyesbeyond.com>
To:        sobomax@FreeBSD.ORG
Cc:        nsayer@quack.kfu.com, java@FreeBSD.ORG
Subject:   Re: Java port behavior ideas
Message-ID:  <20010526045110.A18502@misty.eyesbeyond.com>
In-Reply-To: <200105241911.f4OJBtS32613@mail.uic-in.net>; from sobomax@mail-in.net on Thu, May 24, 2001 at 10:11:56PM %2B0300
References:  <3B0C3A63.3020908@quack.kfu.com> <200105241911.f4OJBtS32613@mail.uic-in.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 24, 2001 at 10:11:56PM +0300, Maxim Sobolev wrote:
> [thread redirected to java@FreeBSD.org]
> 
> On Wed, 23 May 2001 15:32:03 -0700, Nick Sayer wrote:
> > We're starting to get a number of ports that consist simply of .jar 
> > files. Each one is currently taking a different approach to how they are 
> > installed and run and stuff.
> > 
> > I'd like to suggest some additional standards and port plumbing to 
> > handle this.

A consistent approach would definitely be helpful.

> > 2. .jar files should, IMHO, go in a common spot. ${PREFIX}/share/java 
> > seems quite reasonable.
> 
> I'm not sure that it is technically possible. Many packages
> require several levels of directories, thus could be confused
> with such setup. Java porting rules already require that all
> java ports go into ${RREFIX}/share/java/${PORTNAME}, which
> IMO is sufficient to keep all things together.

Another problem with lumping them all in the same directory is that
not all jar files have a similar purpose.  Neglect for a moment that
JAR is a general archive format and just concentrate on jar archives
which contain Java .class files (and associated files).  There are
two main purposes you could do this:

1. This is essentially a packaged program that you want people to
   be able to run with "java -jar jarfile".

2. This is essentially a library of classes that you want
   developers to put in their CLASSPATH and use.

These are very different purposes and lumping them into one directory
would be a Bad Idea [TM].

For jar files which fall into the second category, it might be useful
to have a common directory which contains symbolic links to all of
the files.  This directory could then be linked to jre/lib/ext for all 
JDKs > 1.2 so that you didn't need a hideously big CLASSPATH.

> > 4. Most ambitously, it's conceivable that a method could be devised to 
> > automatically make links from a javavmwrapper helper script to 
> > ${PREFIX}/bin/jarname. The helper script would be argv[0] aware and 
> > would do the equivalent of 'javavm -jar ${PREFIX}/share/java/$0.jar'.
> > This could be used in port Makefiles in a manner similar to MANn= lines.
> 
> I would rather like to see the following binding:
> bin/${PORTNAME} --> share/java/${PORTNAME}/${PORTNAME}.jar
> (${PORTNAME}.jar could be a symlink to actual .jar if necessary)

This is an excellent idea.

				regards, Greg
-- 
Greg Lewis                            Email : glewis@eyesbeyond.com
Eyes Beyond                           Mobile: 0419 868 494
Information Technology                Web   : http://www.eyesbeyond.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010526045110.A18502>