Java Webapp installation

Nicolas Mailhot nicolas.mailhot at laposte.net
Thu Mar 10 09:49:56 UTC 2011



Le Jeu 10 mars 2011 10:17, Stanislav Ochotnicky a écrit :
> Excerpts from Nicolas Mailhot's message of Thu Mar 10 09:55:47 +0100 2011:
>>
>> Le Mer 9 mars 2011 15:44, Stanislav Ochotnicky a écrit :
>> > I've been asked to package apache-solr [1] in Fedora. This is a java
>> > library and webapp posing as a frontend to lucene for searching.
>> >
>> > Packaging java jars is not a problem, but there are more problems with
>> > webapp part. I made it into subpackage apache-solr-webapp. Ant build
>> > creates war file (basically a zip with metadata and dependencies
>> > bundled). I expand this war file and replace dependencies with
>> > symlinks to %{_javadir}. I then place content of this directory inside
>> > /usr/share/java/webapps/apache-solr/. This makes it possible to use
>> > webapp in container (tomcat/jetty) while enabling us to update
>> > dependencies independently.
>>
>> This is nothing new and actually why jpackage-utils contains a
>> build-jar-directory command that populates a directory with symlinks (and a
>> rebuild-jar-directory that refreshes them if necessary)
>
> Yes. I of course know about build-jar-repository (typo on your
> part?).

Yes, sorry about that, long time I've not used it :(

> Question wasn't so much about that, but general approach since
> AFAIK there was no previous Java Webapp in Fedora (therefore noone
> dealt directly with war files).
>
>>
>> /usr/share/java/webapps/ is likely to conflict with this command logic BTW.
>> /usr/share/java/ was supposed to contain only jars on jpackaged systems
>> originally.
>
> This is I guess more problematic aspect I haven't really though of. I
> don't really think it would cause practical issues, but I agree it's
> better to get it right(tm).

The only practical issue is if someone ever tries to packages a webapp.jar as
the build-jar-repository will do lookups on directories too (to allow
replacing transparently foo.jar with a foo subdir containing a set of jar
files)

> So how about /usr/share/java-webapps ? Or
> to have nice ordering with php(?) webapps /usr/share/webapps-java.

Anyone will do, being consistent with php would of course be nice to users.

> It's really not a technical issue, more of a "what's the most normal
> way" issue :-)

"normal" way with Java deployment? That's an oxymoron. The only Java
deployment conventions so have have been written by distro people. I'd suggest
to look at the php webapps included in the distro, derive something similar
for Java, and write a formal Fedora packaging guideline so others have an
answer to your question. Everything but the location of the tomcat/jetty/jboss
config files is likely to be identical no matter what the webapp language is

Regards,

-- 
Nicolas Mailhot




More information about the devel mailing list