Tomcat + Eclipse

Bonjour,
je voudrais développer avec Eclipse et Tomcat, une appli web.
J’y arrive très bien sur mon XP :blush: au boulot.
Mais à la maison je voudrais bien le faire depuis ma debian. 8)

je débute sur linux donc je vais vous donner un max d’infos pour que vous puissiez m’éclairer. :wink:

[quote]Computer
Processor 2x AMD Athlon™ 64 X2 Dual Core Processor 5200+
Memory 1803MB (362MB used)
Operating System Debian GNU/Linux 5.0[/quote]

[quote]Version
Kernel Linux 2.6.26-1-amd64 (x86_64)
Compiled #1 SMP Fri Mar 13 17:46:45 UTC 2009
C Library GNU C Library version 2.7 (stable)
Distribution Debian GNU/Linux 5.0[/quote]

J’utilise Synaptic pour installer mes paquets.

Apache : (pas indispensable puisque je mets tomcat après mais bon…)
Installation paquets
apache2
apache2-doc

tout c’est bien passer la doc est accessible : localhost/manual

MySql :
Installation paquets
mysql-server

JDK :
openjdk-6-jdk

Tomcat :
Installation paquets
tomcat5.5
tomcat5.5-admin
tomcat5.5-webapps

tout va bien localhost:8180/ ça marche

Eclipse :
Installation paquets
eclipse

Lorsque je lance Eclipse problème de browser :

et autre problème mais j’ai perdu la screenshot, résolu en lançant eclipse avec :

java -jar /usr/lib/eclipse/startup.jar

La fenêtre de dialogue qui montre l’erreur persiste mais ça semble pas gêner au fonctionnement d’eclipse.

Ensuite

Plugin Tomcat pour Eclipse :
eclipsetotale.com/tomcatPlugin.html téléchargement de :
tomcatPluginV321.zip
dézippe puis copie du dossier dans /usr/lib/eclipse/plugins/
Lancement de Eclipse les boutons de Tomcat sont visibles ! Bien

Paramétrage éclipse :
Windows -> Preferences -> Java -> Installed JRE : vérifier que c’est bien un jdk - OK
Windows -> Preferences -> Tomcat -> cocher Version 5.x, et répertoire /usr/share/tomcat5.5

Problème lorsque je tente de lancer ou arreter tomcat depuis Eclipse :

[quote]3 avr. 2009 23:43:15 org.apache.catalina.startup.Catalina load
ATTENTION: Can’t load server.xml from /usr/share/tomcat5.5/conf/server.xml
3 avr. 2009 23:43:16 org.apache.catalina.startup.Catalina load
ATTENTION: Can’t load server.xml from /usr/share/tomcat5.5/conf/server.xml
3 avr. 2009 23:43:16 org.apache.catalina.startup.Catalina start
INFO: Server startup in 0 ms
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.NullPointerException
at org.apache.catalina.startup.Catalina.await(Catalina.java:616)
at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
… 6 more[/quote]

donc j’ai décidé de déployer un projet dans Tomcat sans passer par le plugin d’Eclipse… bon des problèmes, le projet se déploit bien (je créer un war dans Eclipse et je le déploi avec interface manager de Tomcat) mais comme Eclipse ne m’a pas construit de web.xml, j’en ai fait un à l’arrache et il doit manquer des trucs puisque j’accède pas à ma .jsp de test.

web.xml :

[quote] <?xml version="1.0" encoding="ISO-8859-1"?>

Première application

première application

test.jsp

[/quote]

Cela à quand même permis de construire une arborescence et maintenant il semble trouver le server.xml, c’et déjà ça, je vais donc retenter avec eclipse.
Je retourne sur eclipse et je recommence en essayant de lancer Tomcat par le plugin (clique sur le bouton démarrer le serveur Tomcat) :

[quote]4 avr. 2009 17:44:06 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/…/lib/amd64:/usr/lib/xulrunner-1.9:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
4 avr. 2009 17:44:06 org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initialisation de Coyote HTTP/1.1 sur http-8180
4 avr. 2009 17:44:06 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 898 ms
4 avr. 2009 17:44:06 org.apache.catalina.users.MemoryUserDatabase save
ATTENTION: User database is not persistable - no write permissions on directory
4 avr. 2009 17:44:06 org.apache.catalina.core.StandardService start
INFO: Démarrage du service Catalina
4 avr. 2009 17:44:06 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5
4 avr. 2009 17:44:06 org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
java.io.FileNotFoundException: /usr/share/tomcat5.5/work/Catalina/localhost/admin/tldCache.ser (Permission non accordée)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:209)
at java.io.FileOutputStream.(FileOutputStream.java:160)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:316)
at org.apache.catalina.core.StandardContext.processTlds(StandardContext.java:4307)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4144)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
[…]
[…]
[…]
[/quote]
donc je tente de mettre les permissions (pour être tranquille) :

[code] # chmod -R a+rx /usr/share/tomcat5.5

cd /usr/share/tomcat5.5/work/Catalina/localhost/admin/

chmod 777 tldCache.ser[/code]

je vérifie que mes droits son passé :

# ls -la total 16 drwxrwxrwx 2 tomcat55 nogroup 4096 avr 4 16:34 . drwxr-xr-x 12 tomcat55 nogroup 4096 avr 4 16:16 .. -rw-rw-rw- 1 tomcat55 nogroup 422 avr 4 16:34 SESSIONS.ser -rwxrwxrwx 1 tomcat55 nogroup 44 avr 3 20:41 tldCache.ser

je tente de relancer tomcat depuis Eclipse : toujours pareil

donc le fichier est présent et les permissions sont bonnes alors le problème vient d’ailleurs.

Quelques infos supplémentaires :

# printenv GPG_AGENT_INFO=/tmp/seahorse-wMRDZF/S.gpg-agent:3545:1 TERM=xterm DESKTOP_STARTUP_ID= SHELL=/bin/bash GTK_RC_FILES=/etc/gtk/gtkrc:/home/vodhei/.gtkrc-1.2-gnome2 WINDOWID=46137550 OLDPWD=/usr/share GTK_MODULES=gnomebreakpad USER=root LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36: GNOME_KEYRING_SOCKET=/tmp/keyring-YBiyWe/socket SSH_AUTH_SOCK=/tmp/keyring-YBiyWe/ssh USERNAME=vodhei SESSION_MANAGER=local/BlueLed:/tmp/.ICE-unix/3487 MAIL=/var/mail/root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin DESKTOP_SESSION=default GDM_XSERVER_LOCATION=local PWD=/usr/share/tomcat5.5/work/Catalina/localhost/admin GNOME_KEYRING_PID=3486 LANG=fr_FR.UTF-8 GDM_LANG=fr_FR.UTF-8 PS1=\h:\w\$ GDMSESSION=default HISTCONTROL=ignoreboth SHLVL=2 HOME=/root GNOME_DESKTOP_SESSION_ID=Default LOGNAME=root DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-eNVElbRUHq,guid=98de797c6c18b7a3719f9bd849d76548 XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/ WINDOWPATH=7 DISPLAY=:0.0 XAUTHORITY=/home/vodhei/.Xauthority COLORTERM=gnome-terminal _=/usr/bin/printenv
pas de JAVA_HOME ni de CATALINA comme j’ai vu ailleurs… peut être que ça vient de là ?

J’ai épuiser google, ce forum, et mes amis :unamused:
donc je me suis décider en dernier recours à vous demander de l’aide.

[size=150]Donc pour résumer ce long post : [/size]

  • Est-ce que dans ma démarche, vous voyez des choses mal faites ? (genre au niveau des install ou autre vu que je débute sur linux)
  • Comment résoudre le problème secondaire (selon moi) du Integrated Browser au lancement d’Eclipse ?
  • Lorsque je créer un projet Tomcat depuis Eclipse, il ne me créer pas de fichier web.xml, c’est normal ?
  • Et le plus important pourquoi j’arrive pas à lancer Tomcat depuis Eclipse ?

Merci d’avance pour toute aide, et bravo si vous avez tout lu :smiley:

P.S : sur beaucoup de tuto et topic, ils installent tomcat en passant par /usr/local c’est pas mon cas.

Ca inspire pas grand monde apparemment le java web :confused:

Alors je vais m’y prendre autrement.

Je voit beaucoup de tuto, wiki et autre avec des exemple pour mettre tomcat + eclipse + plugin Eclipse pour Tomcat.

Le problème c’est que ça date et qu’il sont tous dépassé.
J’ai donc des questions qui me feront avancé et qui sont d’ordres plus général donc vous pourrez surement m’aider. :wink:

Moi je passe par apt-get en installant direct les paquets qu’il faut.
Tous les tuto que j’ai vu à ce sujet explique en téléchargeant sur les site éditeur puis en dézippant puis en installant où on veut, bidouille et compagnie auxquels j’y connait rien (nouveau en linux)

Donc c’est quoi la bonne méthode ?
Je reste avec apt-get ou je dois faire des bidouilles ???

Salut,

selon le vieil adage : “mieux vaut tard que jamais”…

l’installation de la version Debian de Tomcat respecte la norme FHS alors qu’eclipse s’attend à trouver tout au même endroit. Voici une solution :

créer un espace utilisateur tomcat avec tomcat6-instance-create (package tomcat6-user) afin qu’eclipse puisse démarrer le serveur sans être root, créer des liens symboliques vers les fichiers nécéssaires. Ce qui donne :

tomcat6-instance-create $DEVELSERVERDIR cd $DEVELSERVERDIR ln -s /usr/share/tomcat6/lib ln -s /usr/share/tomcat6/bin/bootstrap.jar bin sudo cp /var/cache/tomcat6/catalina.policy conf // catalina.policy est seulement accessible par root sudo chown $USER:$USER conf/catalina.policy // donner les droits de lecture/écriture

voilà, il est désormais possible de créer un nouveau serveur tomcat dans eclipse en donnant $DEVELSERVERDIR comme localisation.