Eclipse-el szeretnék Tomcat 5.5 alá servletet csinálni, gyakorlatilag hello world szint. Ott a probléma, hogy az eclipse tiltakozik, hogy nincs a servlet osztályában serialVersionUID definiálva. Definiálom, és így is tiltakozik. Az összes nemzetközi fórumon amiket google-lel találtam csak arról esik szó hogy kell -e deklarálni, és hogy hogy kell deklarálni. Itt hiába deklarálom, mégsem fogadja el az eclipse.
Más. A Tomcat alapból a 8080-as portot figyeli. Mellette van egy Apache a 80-as porton. Tegyük fel, hogy van 20 db domain, ami name virtualhost-ként az Apache "felügyelete alatt áll" (statikus html, illetve php oldalak) és van 2 db olyan domain, ami jsp-technológiájú honlappal rendelkezik. Nyilván nem várhatom el a két utóbbi honlap látogatóitól, hogy a "8080"-as portot is beírják a domain után a böngészőbe. Hogy érhetem el, hogy a két utóbbi domain esetében a foldolgozást port beírás nélkül (www.valami.hu) a tomcat kapja. Létre kell hozni az apache-ban is virtuálhosztot nekik, ami nem csinál mást mint átirányít a 8080-ra, vagy mi a megoldás?
Elkezdtem vadul jsp-ket irogatni és felmerült egy újabb kérdés, ami valszeg inkább ide tartozik mint a programozási rovatba. Ha feltöltök egy valami.jsp-t a szerverre (tomcat 5.0.28) a container szépen befordítja JAVA-ba, legenerálódik a class a ../work../valami -be, majd megjelenik. Minden oké. Ha azonban változtatok a jsp-n és újra feltöltöm a zserverre a Tomcat továbbra is az előző "class-ból dolgozik". Gondolom létezik elegánsabb megoldás, mint minden jsp-korrekció után törölgetem a class-okat. Kérdésem az lenne, hogy mi a teendő? Köszi.
Nagy bajt nem okozol vele... gondolom az elsőt az xdm használja, a másodikat a gdm... vagy ha van saját felhasználói ~/.xsession-od akkor oda is írhatod.
Na ugye! A .bashrc -t a shell mindig beolvassa, a .profile-t (vagy /etc/profile-t) csak a login-shell. http://www.gnu.org/software/bash/manual/bashref.html#SEC65 Ez persze nem segít akkor, ha nem shell-ből indul a program, ezért jó a /etc/*/Xsession -be tenni a "source /etc/common.env"-et (lehetőleg az "exec *wm" elé)
Miután a user .bash_profile-jába és .bashrc -jébe tettem a hivatkozást (source /etc/common.env) azóta működik a gnome terminálon. Pl. ha a java-s jedit-et akarom indítani, akkor a java -jar jedit.jar indul, ugyanakkor ha az asztalon parancsikon-t hozok létre a fenti paranccsal, akkor ismét ismeretlen neki a "java".
Bocs, működik. A common.env-et nem futtatható bash scriptként kell, hanem csak sime text file-ként source-szal, ahogy írtad is. Amúgy csak az xterm nem vette fel a változókat. Az xterm nekem a $HOME/.bash_profile -ból kapta meg, miután beleírtam abba is a source /etc/common-env-t. Furcsa. Az xterm miért nem kapja meg ugyanígy az /etc/profile-ból?
A CLASSPATH -ot így *nix alatt így adom meg: CLASSPATH="." ?
Nem feltétlenül kell macsakaköröm, ha nincs benne szóköz...
Remekül működik, de azt szeretném, hogy ne root-ként induljon boot-oláskor, hanem egy általam létrehozott "tomcatuser" legyen a processz tulajdonosa. Hogy állíthatom ezt be? Köszi
Mondjuk az legyen a scriptben hogy:
su tomcatuser <<DONE id -a #ide jön amit akarsz DONE
Más. Készítettem egy indító/leállító/újraindító scriptet a Tomcat5 számára (symlink rc2 -ből, hogy boot-oláskor is induljon...stb). Remekül működik, de azt szeretném, hogy ne root-ként induljon boot-oláskor, hanem egy általam létrehozott "tomcatuser" legyen a processz tulajdonosa. Hogy állíthatom ezt be? Köszi
Klasszikusokat csak pontosan szabad idézni: NevemTeve 2006.04.20 11:57:49 (11) Ha biztosra akarsz menni, csinálj /etc/common.env-et (vagy hasonlót), és azt hívd meg ("source /etc/common.env" a /etc/profile-ból, a ~/.bashrc-ből, a /etc/X11/xdm/Xsession-ből , vagy ahonnan éppen szükséges).
"Ellenőrizd hogy egy xterm ablakban is állnak-e a változóid."
Most tapasztaltam - utalva fenti írásodra - , hogy xterm alatt nem elérhetőek az /etc/profile-ban megadott változók, csak a root számára. A PATH kiegészítés sem. Ez miért van? Hogy lehet egy átlag user számára azokat elérhetővé tenni? Köszi.
Légyszi segítsetek az alábbi hiba megoldásában (Tomcat 5..0.28, Mysql 4.0.24, mysql-connector-java-3.0.17)
" Error: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Data source rejected establishment of connection, message from server: "Host 'localhost.localdomain' is not allowed to connect to this MySQL server") "
> > Amikor felrakjátok a JAVA SDK-t, akkor hol futtatjátok a telepítő bin-t linuxon? > Mármint, hogy hová kell download-olni? Ahová akarod, mondjuk /tmp vagy /root/download, mindegy. Hoppá, ezt emlékezetből írtam és elrontottam... ez a lángeszű program nem kérdez semmit, hanem az aktuális könyvtárba telepít...
Köszi, végülis időközben úgy oldottam, meg, hogy létrehoztam a /usr/share -ben egy java könyvtárat, ott futtattam a telepítő bin-t és az /etc/profile -ban adtam meg a PATH-ot és a JAVA_HOME-t is...
Amikor felrakjátok a JAVA SDK-t, akkor hol futtatjátok a telepítő bin-t linuxon? Mármint, hogy hová kell download-olni? Ahová akarod, mondjuk /tmp vagy /root/download, mindegy.
usr/share/java -könyvtárban, amit létrehoztok neki? Én ugyan nem hozok létre semmit... majd ő szépen települ a /opt/j2sdk1.4.2_01-ba, vagy amilyen verzió... ezután érdemes egy szimlinket csinálni: "ln -sf j2sdk1.4.2_01 /opt/jdk"
Debian esetében, hogy írjátok be és melyik fájlokba a path-ot, classpath-ot és a java_home -t? Elég csak az /etc/profile - ba, vagy a /home/user/.bashrc-ben is meg kell adni? Ez nem a linux fórumba tartozna? Ha biztosra akarsz menni, csinálj /etc/common.env-et (vagy hasonlót), és azt hívd meg ("source /etc/common.env" a /etc/profile-ból, a ~/.bashrc-ből, a /etc/X11/xdm/Xsession-ből , vagy ahonnan éppen szükséges).
Sziasztok! Amikor felrakjátok a JAVA SDK-t, akkor hol futtatjátok a telepítő bin-t linuxon? usr/share/java -könyvtárban, amit létrehoztok neki? Debian esetében, hogy írjátok be és melyik fájlokba a path-ot, classpath-ot és a java_home -t? Elég csak az /etc/profile - ba, vagy a /home/user/.bashrc-ben is meg kell adni? Ha bepasztáznátok egy konkrét konfigot az pedig csúcs lenne. Köszi.