java-sun w /usr/lib/java

Daniel 'bonkey' Bauke bonkey w pld.org.pl
Pon, 26 Sie 2002, 15:08:42 CEST


sobota, 17. sierpień. Michal Kochanowicz pisze:

>> Czekam na uwagi od osób, które używają Javy do czegoś więcej niż wtyczka
>> Mozilli ;)
>Bardzo się cieszę że ktoś się wziął za Javę :) Fajnie by było jak byś
>jeszcze trochę dokumentacji zapaczkował ;) (np. API). 
to akurat sam miałem w planach.. a także dodanie źródeł (src.zip)

>Powiedz jeszcze jak widzisz instalowanie programów javovych. 
ja mam dwa rozwiązania: jedno gorsze od drugiego.
1. maven -- do "prowadzenia" projektów -- robi głównie
   dokumentację, ale jednym z miłych featurów jest to, że posiada
   globalne repozytorium jarów i jak go poprosić, to dociąga Ci,
   co potrzeba do projektu, pakuje go itp itd. fajna rzecz, ale
   okrutna kobyła
   (http://jakarta.apache.org/turbine/maven/start/use.html)
2. pchać wszystkie jary do $JAVA_HOME/jre/lib/ext -- będą się
   same ładować, ale:
   - będą się ładować przy każdym starcie jvm
   - jeśli będzie jakiś konflikt wersji, to żaden sie nie
     załaduje
   wariacją powyższego może być ustawianie java.class.path lub
   pisanie odpowiednich manifestów (w jarach)
   więcej na:
   http://java.sun.com/docs/books/tutorial/ext/basics/load.html

>Rozrzucanie tego po katalogach nie wydaje mi się rozsądne.
>Ja bym wolał (podobnie jak zrobiłem ze squirrelsql) żeby miał własną
>hierarchię w /opt/jboss. 
nie podoba mi się to, ale nie znam lepszego (czyli prostszego)
solution. można by oczywiście tak się w sobie zebrać, żeby pld
było jedyna dystrybucją supportującą javę (tzn. z aplikacjami
zainstalowanymi zgodnie z fhs), ale to cieżka robota (próbowałem
kiedyś z resinem -- nawet chyba nieźle wyszło, ale długo się
klepało i sprawdzalo :-/). 

>Ja pracuję na Linuksie a klient używa Windows NT.
maven, maven, maven :-)
$ maven ant # robi sktypa antowego, ktory m.in. potrafi pociągnąć
            # brakujące jary
$ maven dist # robi paczki src i bin jako zip i tar.gz
$ maven deploy # kopiuje paczki do repozoytorium (można mieć
               # swoje -- tam też leżą jary)
a u klienta ściagasz jedną paczkę (po http), rozpakowujesz,
zapuszczasz anta, który dociąga potrzebne jary i odpalasz sobie
jakieś skrypciątko, które buduje classpath na podstawie katalogu
lib lub masz to ustawione odpowiednio w jar lub -Djava.class.path
(chyba)... oczywiscie to tylko *teoria* -- sam z tym ciągle
jeszcze walczę, a mam dość prostą strukturę..

ale jeśli mówimy o "gołych" aplikacjach, to zwykle one już mają
swoje instalatory na win32 (np. jedit, tomcat) a jak nie mają,
to też je prosto wrzucić do program files albo samemu cos napisać
(nsis jest bardzo mily w uzyciu: http://www.nullsoft.com/free/nsis/) 

jednak wcale to nie znaczy, że na linuxie tak samo kiepsko to ma
wyglądac (tzn. lezec w jednym katalogu). niestety jednak
z dostosowaniem ścieżek jest sporo dlubania (np. taki maven
potrzebuje miec repo group writable, bo se tam dorzuca ściągniete
jary). na razie radzę sobie w ten sposob, ze jak mam czas, to
robie paczke jak najbardziej zgodna z fhs, a jak nie mam, to
wrzucam wiekszosc rzeczy do /usr/local/share/<aplikacja>,
a czesc do /var/lib/<aplikacja> i moze z czasem to wyewoluuje
w pakiety (choc szczerze watpie >:>)

-- 
Daniel `bonkey' Bauke; http://www.bonkey.pl.eu.org; {happiness==bike&&unix;}



Więcej informacji o liście dyskusyjnej pld-devel-pl