RE: Classpath issue *only* when starting tomcat 6 as a service
Hi all, I finally managed to make it work with my multiple tomcat homes installations. I deleted the lib dir in tomcat instances, set-up waffle lib in the common tomcat lib dir, clean-up the services properties (i.e. classpath, to match tomcat default service configuration), removed endorsed dir. Thanks a bunch everybody for your responsiveness and dedication to solving issues of unknown people like me. I really appreciate ;-) Best regards, Patrick pguil...@genigraph.fr Téléphone : +33 (0)9 51 17 44 24 http://www.genigraph.fr Avant d'imprimer cet email et les pièces jointes, pensez à l'environnement. -Message d'origine- De : Mark Thomas [mailto:ma...@apache.org] Envoyé : jeudi 16 juin 2011 20:45 À : Tomcat Users List Objet : Re: Classpath issue *only* when starting tomcat 6 as a service On 16/06/2011 18:07, Patrick Guillot - Genigraph wrote: Hi all, Back on this issue. I suspect I know what is happening. Waffle provides it's own implementation of Tomcat's Authenticator interface and does this by extending Tomcat's AuthenticatorBase. Therefore, the Authenticator Interface and the AuthenticatorBase class have to be visible to the class loader loading Waffle. If you place Waffle in the endorsed dir then it can't see the AuthenticatorBase (look at the class loader docs for Tomcat). The short version is Waffle has to be placed in Tomcat's lib directory. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Classpath issue *only* when starting tomcat 6 as a service
Hi all, Back on this issue. I have a new machine as a sand-box. This is a brand-new machine. Nothing but the operating system was installed before I began (Microsoft Windows 2008 Server R2). Step 1: I Installed tomcat using the installer apache-tomcat-6.0.29.exe(including Tomcat service and native library). The service has been set-up automatically by the installer. I did no modification at all on the service set-up. So, I use the out of the box tomcat set-up. As a consequence, I haven't had to use service.bat since the installer did the job itself. I only had to check the box service in the component list of the installer. I put Waffle webapps in the webapps directory, and waffle libs in endorsed. I have had to create the endorsed directory by myself. This directory is referenced in the service configuration automatically set-up by the tomcat installer (-Djava.endorsed.dirs=C:\Outils\Tomcat 6.0\endorsed). I'm still seeing the very same error : java.lang.NoClassDefFoundError: org/apache/catalina/authenticator/AuthenticatorBase Step 2: In uninstalled tomcat, and reinstall it using apache-tomcat-6.0.29-windows-x64.zip. In other words, I just unzipped the archive in c:\tomcat directory. Then I: - put Waffle webapps in webapps; - create C:\endorsed\ directory; - put Waffle libs in C:\endorsed\; - updated startup.bat to let it know about Java home (I could have set-up an env. variable, but...): set JAVA_HOME=C:\Outils\Java\jdk1.5.0_22 - started tomcat using startup.bat. Still seeing the error : java.lang.NoClassDefFoundError: org/apache/catalina/authenticator/AuthenticatorBase Step 3: Reusing the same set-up as step 2, but put the waffle libs in tomcat's lib directory directly - not in endorsed dir. == fine : no more error! Step 4: Reinstalled Tomcat as a service with Waffle libs in Tomcat's lib directory. == fine : no more error! So really, it seems I have to put Waffle libs in tomcat lib directory to make it work. I really do not like this since as far as I know this is not a good practice. But obviously, I don't have any other choice, do I? I will now try to make this work on my multiple tomcat instances installation. Thanks all for your inputs. Kind regards, Patrick pguil...@genigraph.fr Téléphone : +33 (0)9 51 17 44 24 http://www.genigraph.fr Avant d'imprimer cet email et les pièces jointes, pensez à l'environnement. -Message d'origine- De : André Warnier [mailto:a...@ice-sa.com] Envoyé : vendredi 10 juin 2011 17:43 À : Tomcat Users List Objet : Re: Classpath issue *only* when starting tomcat 6 as a service -Message d'origine- De : Pid [mailto:p...@pidster.com] Envoyé : vendredi 10 juin 2011 16:35 À : Tomcat Users List Objet : Re: Classpath issue *only* when starting tomcat 6 as a service On 10/06/2011 10:16, Patrick Guillot - Genigraph wrote: Right. I have used a script I made because I had several tomcat instances to set-up (2x8). Attached is the script I used. I'm using multiple catalina_base (one for each application). Please uninstall all Tomcat services. Now install Tomcat using service.bat - just once. http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html Does Tomcat work now? p - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Classpath issue *only* when starting tomcat 6 as a service
On 16/06/2011 18:07, Patrick Guillot - Genigraph wrote: Hi all, Back on this issue. I suspect I know what is happening. Waffle provides it's own implementation of Tomcat's Authenticator interface and does this by extending Tomcat's AuthenticatorBase. Therefore, the Authenticator Interface and the AuthenticatorBase class have to be visible to the class loader loading Waffle. If you place Waffle in the endorsed dir then it can't see the AuthenticatorBase (look at the class loader docs for Tomcat). The short version is Waffle has to be placed in Tomcat's lib directory. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Classpath issue *only* when starting tomcat 6 as a service
Hi everybody, Im driving mad with a classpath issue : My environment : - Tomcat 6.0.29 - Windows Server 2008 R2 Standard 64 bits - JDK 1.5.0_22 My webapp is using Waffle (Windows Authentication Framework) (http://waffle.codeplex.com/) to benefit from transparent authentication. It is working just fine when tomcat is started in console mode. But console mode is not suitable for production use. Therefore, I set-up Tomcat 6 as a service (http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html). In this mode, tomcat does not start properly and I get a classpath error : java.lang.NoClassDefFoundError: org/apache/catalina/authenticator/AuthenticatorBase If not using Waffle, the service mode is working fine as well. AuthenticatorBase is used by Waffle. I found that this class is located catalina.jar. Catalina.jar is located in D:\tomcat\lib\ (catalina.home\lib). So, I do have the right jar and it contains the right class (which again is found by tomcat when started in console mode). My guess was I had a service configuration error : I checked everything and cant find any error which does not mean there is no error ! ;-) Here is the service configuration logged by tomcat : Jvm Option[0] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstrap.jar; D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-ant.jar;D:\tomcat\l ib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\tomcat\lib\catalina. jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D:\tomcat\lib\jaspe r-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.jar;D:\tomcat\lib\s ervlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\lib\tomcat-dbcp.jar ;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18n-fr.jar;D:\tomcat \lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\lib\platform.jar;D:\ tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1.1.1.jar Jvm Option[1] -Dcatalina.home=D:\tomcat Jvm Option[2] -Dcatalina.base=D:\tomcat\instances\06_crlj Jvm Option[3] -Djava.endorsed.dirs=D:\tomcat\endorsed Jvm Option[4] -Djava.io.tmpdir=D:\tomcat\instances\06_crlj\temp Jvm Option[5] -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager Jvm Option[6] -Djava.util.logging.config.file=D:\tomcat\instances\06_crlj\conf\logging.pro perties Jvm Option[7] -XX:MaxPermSize=256M Jvm Option[8] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstrap.jar; D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-ant.jar;D:\tomcat\l ib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\tomcat\lib\catalina. jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D:\tomcat\lib\jaspe r-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.jar;D:\tomcat\lib\s ervlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\lib\tomcat-dbcp.jar ;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18n-fr.jar;D:\tomcat \lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\lib\platform.jar;D:\ tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1.1.1.jar Jvm Option[9] vfprintf Jvm Option[10] -Xms256m Jvm Option[11] -Xmx512m As you can see : java.class.path do include catalina.jar. I tried copying around catalina.jar and waffle libs around (lib dirs., endorsed dirs., etc.), but no luck. Thanks in advance for any help you can provide. Kin regards, Patrick Guillot Genigraph mailto:pguil...@genigraph.fr pguil...@genigraph.fr Full stack trace -- INFO: Déploiement du descripteur de configuration waffle-mixed.xml 10 juin 2011 09:24:35 org.apache.tomcat.util.digester.Digester startElement GRAVE: Begin event threw error java.lang.NoClassDefFoundError: org/apache/catalina/authenticator/AuthenticatorBase at java.lang.ClassLoader.findBootstrapClass(Native Method) at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:892) at java.lang.ClassLoader.loadClass(ClassLoader.java:302) at java.lang.ClassLoader.loadClass(ClassLoader.java:300) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java :205) at org.apache.tomcat.util.digester.Rule.begin(Rule.java:153) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1356) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Ab stractSAXParser.java:533) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyEl ement(AbstractXMLDocumentParser.java:220) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanS tartElement(XMLDocumentFragmentScannerImpl.java:872)
Re: Classpath issue *only* when starting tomcat 6 as a service
On 10/06/2011 09:38, Patrick Guillot - Genigraph wrote: Jvm Option[8] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstrap.jar; D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-ant.jar;D:\tomcat\l ib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\tomcat\lib\catalina. jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D:\tomcat\lib\jaspe r-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.jar;D:\tomcat\lib\s ervlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\lib\tomcat-dbcp.jar ;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18n-fr.jar;D:\tomcat \lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\lib\platform.jar;D:\ tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1.1.1.jar Jvm Option[9] vfprintf Jvm Option[10] -Xms256m Jvm Option[11] -Xmx512m As you can see : java.class.path do include “catalina.jar”. Don't set the classpath. Tomcat does that itself. p signature.asc Description: OpenPGP digital signature
Re: Classpath issue *only* when starting tomcat 6 as a service
On 10/06/2011 09:38, Patrick Guillot - Genigraph wrote: Hi everybody, I’m driving mad with a classpath issue : My environment : - Tomcat 6.0.29 - Windows Server 2008 R2 Standard 64 bits - JDK 1.5.0_22 My webapp is using Waffle (Windows Authentication Framework) (http://waffle.codeplex.com/) to benefit from transparent authentication. It is working just fine when tomcat is started in console mode. But console mode is not suitable for production use. Therefore, I set-up Tomcat 6 as a service (http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html). In this mode, tomcat does not start properly and I get a classpath error : java.lang.NoClassDefFoundError: org/apache/catalina/authenticator/AuthenticatorBase If not using Waffle, the service mode is working fine as well. AuthenticatorBase is used by Waffle. I found that this class is located “catalina.jar”. “Catalina.jar” is located in D:\tomcat\lib\ (catalina.home\lib). So, I do have the right jar and it contains the right class (which again is found by tomcat when started in console mode). My guess was I had a service configuration error : I checked everything and can’t find any error – which does not mean there is no error ! ;-) Here is the service configuration logged by tomcat : Jvm Option[0] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstrap.jar; D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-ant.jar;D:\tomcat\l ib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\tomcat\lib\catalina. jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D:\tomcat\lib\jaspe r-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.jar;D:\tomcat\lib\s ervlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\lib\tomcat-dbcp.jar ;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18n-fr.jar;D:\tomcat \lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\lib\platform.jar;D:\ tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1.1.1.jar Jvm Option[7] -XX:MaxPermSize=256M Jvm Option[8] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstrap.jar; D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-ant.jar;D:\tomcat\l ib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\tomcat\lib\catalina. jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D:\tomcat\lib\jaspe r-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.jar;D:\tomcat\lib\s ervlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\lib\tomcat-dbcp.jar ;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18n-fr.jar;D:\tomcat \lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\lib\platform.jar;D:\ tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1.1.1.jar Also you're setting classpath twice. How did you install the service? Did you use service.bat? p signature.asc Description: OpenPGP digital signature
RE: Classpath issue *only* when starting tomcat 6 as a service
Hello, Right. I have used a script I made because I had several tomcat instances to set-up (2x8). Attached is the script I used. I'm using multiple catalina_base (one for each application). At first, the Java Classpath: field of the Tomcat Service GUI only contains : bootsrap.jar and tomcat-juli.jar Since it did not work, I add the following in PR_CLASSPATH env. variable which correspond to the Java Options: field of the Tomcat Service GUI contained : -Djava.class.path=D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-a nt.jar;D:\tomcat\lib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\to mcat\lib\catalina.jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D :\tomcat\lib\jasper-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.j ar;D:\tomcat\lib\servlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\l ib\tomcat-dbcp.jar;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18 n-fr.jar;D:\tomcat\lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\li b\platform.jar;D:\tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1. 1.1.jar Being so desperate :-) I add all the jars to both Java Classpath: and Java Options:. I just made a test after cleaning things up. This gives the following configuration : [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[0] -Dcatalina.home=D:\tomcat [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[1] -Dcatalina.base=D:\tomcat\instances\06_crlj [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[2] -Djava.endorsed.dirs=D:\tomcat\endorsed [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[3] -Djava.io.tmpdir=D:\tomcat\instances\06_crlj\temp [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[4] -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[5] -Djava.util.logging.config.file=D:\tomcat\instances\06_crlj\conf\logging.pro perties [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[6] -XX:MaxPermSize=256M [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[7] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstrap.jar [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[8] vfprintf [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[9] -Xms256m [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[10] -Xmx512m [2011-06-10 10:46:03] [629 javajni.c] [debug] argv[0] = start As far as I understand, line 7 contains what is set-up in the Java Classpath: field of the Tomcat Service GUI. It looks fine now, does it ? I still get the same error. Thanks, Patrick -Message d'origine- De : Pid [mailto:p...@pidster.com] Envoyé : vendredi 10 juin 2011 10:45 À : Tomcat Users List Objet : Re: Classpath issue *only* when starting tomcat 6 as a service On 10/06/2011 09:38, Patrick Guillot - Genigraph wrote: Hi everybody, Im driving mad with a classpath issue : My environment : - Tomcat 6.0.29 - Windows Server 2008 R2 Standard 64 bits - JDK 1.5.0_22 My webapp is using Waffle (Windows Authentication Framework) (http://waffle.codeplex.com/) to benefit from transparent authentication. It is working just fine when tomcat is started in console mode. But console mode is not suitable for production use. Therefore, I set-up Tomcat 6 as a service (http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html). In this mode, tomcat does not start properly and I get a classpath error : java.lang.NoClassDefFoundError: org/apache/catalina/authenticator/AuthenticatorBase If not using Waffle, the service mode is working fine as well. AuthenticatorBase is used by Waffle. I found that this class is located catalina.jar. Catalina.jar is located in D:\tomcat\lib\ (catalina.home\lib). So, I do have the right jar and it contains the right class (which again is found by tomcat when started in console mode). My guess was I had a service configuration error : I checked everything and cant find any error which does not mean there is no error ! ;-) Here is the service configuration logged by tomcat : Jvm Option[0] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstra p.jar; D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-ant.jar;D:\to mcat\l ib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\tomcat\lib\catalina. jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D:\tomcat\lib \jaspe r-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.jar;D:\tomcat \lib\s ervlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\lib\tomcat-db cp.jar ;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18n-fr.jar;D:\ tomcat \lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\lib\platform.j ar;D:\ tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1.1.1.jar Jvm Option[7] -XX:MaxPermSize=256M Jvm Option[8
RE: Classpath issue *only* when starting tomcat 6 as a service
Just as Unix contains different configurations for each .profile and .bashrc you may have different (JVM and or CLASSPATH) configurations for each username in Windows Authentication Framework. from what i know Windows service has different capabilities depending on the authentication credentials you supply if you start your service as Administrator does the problem go away e.g? runas /u:administrator net start Tomcat Bon Chance, Martin __ Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni. From: pguil...@genigraph.fr To: users@tomcat.apache.org Subject: RE: Classpath issue *only* when starting tomcat 6 as a service Date: Fri, 10 Jun 2011 11:16:36 +0200 Hello, Right. I have used a script I made because I had several tomcat instances to set-up (2x8). Attached is the script I used. I'm using multiple catalina_base (one for each application). At first, the Java Classpath: field of the Tomcat Service GUI only contains : bootsrap.jar and tomcat-juli.jar Since it did not work, I add the following in PR_CLASSPATH env. variable which correspond to the Java Options: field of the Tomcat Service GUI contained : -Djava.class.path=D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-a nt.jar;D:\tomcat\lib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\to mcat\lib\catalina.jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D :\tomcat\lib\jasper-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.j ar;D:\tomcat\lib\servlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\l ib\tomcat-dbcp.jar;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18 n-fr.jar;D:\tomcat\lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\li b\platform.jar;D:\tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1. 1.1.jar Being so desperate :-) I add all the jars to both Java Classpath: and Java Options:. I just made a test after cleaning things up. This gives the following configuration : [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[0] -Dcatalina.home=D:\tomcat [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[1] -Dcatalina.base=D:\tomcat\instances\06_crlj [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[2] -Djava.endorsed.dirs=D:\tomcat\endorsed [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[3] -Djava.io.tmpdir=D:\tomcat\instances\06_crlj\temp [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[4] -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[5] -Djava.util.logging.config.file=D:\tomcat\instances\06_crlj\conf\logging.pro perties [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[6] -XX:MaxPermSize=256M [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[7] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstrap.jar [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[8] vfprintf [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[9] -Xms256m [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[10] -Xmx512m [2011-06-10 10:46:03] [629 javajni.c] [debug] argv[0] = start As far as I understand, line 7 contains what is set-up in the Java Classpath: field of the Tomcat Service GUI. It looks fine now, does it ? I still get the same error. Thanks, Patrick -Message d'origine- De : Pid [mailto:p...@pidster.com] Envoyé : vendredi 10 juin 2011 10:45 À : Tomcat Users List Objet : Re: Classpath issue *only* when starting tomcat 6 as a service On 10/06/2011 09:38, Patrick Guillot - Genigraph wrote: Hi everybody, I’m driving mad with a classpath issue : My environment : - Tomcat 6.0.29 - Windows Server 2008 R2 Standard 64 bits - JDK 1.5.0_22 My webapp is using Waffle (Windows Authentication Framework) (http://waffle.codeplex.com/) to benefit from transparent authentication. It is working just fine when tomcat is started in console mode. But console mode is not suitable for production use. Therefore, I set-up Tomcat 6 as a service (http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html). In this mode, tomcat does not start properly and I get a classpath error : java.lang.NoClassDefFoundError: org/apache/catalina/authenticator/AuthenticatorBase If not using Waffle, the service mode is working fine as well. AuthenticatorBase is used by Waffle
RE: Classpath issue *only* when starting tomcat 6 as a service
Hi Martin, It does start as administrator already: The tomcat service GUI used to start the service is executed via the Run as administrator contextual menu command. Unfortunately this does not solve the problem. Thanks. Regards, Patrick pguil...@genigraph.fr Téléphone : +33 (0)9 51 17 44 24 http://www.genigraph.fr Avant d'imprimer cet email et les pièces jointes, pensez à l'environnement. -Message d'origine- De : Martin Gainty [mailto:mgai...@hotmail.com] Envoyé : vendredi 10 juin 2011 13:24 À : Tomcat Users List Objet : RE: Classpath issue *only* when starting tomcat 6 as a service Just as Unix contains different configurations for each .profile and .bashrc you may have different (JVM and or CLASSPATH) configurations for each username in Windows Authentication Framework. from what i know Windows service has different capabilities depending on the authentication credentials you supply if you start your service as Administrator does the problem go away e.g? runas /u:administrator net start Tomcat Bon Chance, Martin __ Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni. From: pguil...@genigraph.fr To: users@tomcat.apache.org Subject: RE: Classpath issue *only* when starting tomcat 6 as a service Date: Fri, 10 Jun 2011 11:16:36 +0200 Hello, Right. I have used a script I made because I had several tomcat instances to set-up (2x8). Attached is the script I used. I'm using multiple catalina_base (one for each application). At first, the Java Classpath: field of the Tomcat Service GUI only contains : bootsrap.jar and tomcat-juli.jar Since it did not work, I add the following in PR_CLASSPATH env. variable which correspond to the Java Options: field of the Tomcat Service GUI contained : -Djava.class.path=D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-a nt.jar;D:\tomcat\lib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\to mcat\lib\catalina.jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D :\tomcat\lib\jasper-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.j ar;D:\tomcat\lib\servlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\l ib\tomcat-dbcp.jar;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18 n-fr.jar;D:\tomcat\lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\li b\platform.jar;D:\tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1. 1.1.jar Being so desperate :-) I add all the jars to both Java Classpath: and Java Options:. I just made a test after cleaning things up. This gives the following configuration : [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[0] -Dcatalina.home=D:\tomcat [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[1] -Dcatalina.base=D:\tomcat\instances\06_crlj [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[2] -Djava.endorsed.dirs=D:\tomcat\endorsed [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[3] -Djava.io.tmpdir=D:\tomcat\instances\06_crlj\temp [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[4] -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[5] -Djava.util.logging.config.file=D:\tomcat\instances\06_crlj\conf\logging.pro perties [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[6] -XX:MaxPermSize=256M [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[7] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstrap.jar [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[8] vfprintf [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[9] -Xms256m [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[10] -Xmx512m [2011-06-10 10:46:03] [629 javajni.c] [debug] argv[0] = start As far as I understand, line 7 contains what is set-up in the Java Classpath: field of the Tomcat Service GUI. It looks fine now, does it ? I still get the same error. Thanks, Patrick -Message d'origine- De : Pid [mailto:p...@pidster.com] Envoyé : vendredi 10 juin 2011 10:45 À : Tomcat Users List Objet : Re: Classpath issue *only* when starting tomcat 6 as a service On 10/06/2011 09:38, Patrick Guillot - Genigraph wrote: Hi everybody, Im driving mad with a classpath issue : My environment : - Tomcat 6.0.29 - Windows Server 2008 R2 Standard 64 bits - JDK 1.5.0_22 My webapp is using Waffle (Windows Authentication Framework
Re: Classpath issue *only* when starting tomcat 6 as a service
On 6/10/2011 8:15 AM, Patrick Guillot - Genigraph wrote: Hi Martin, It does start as administrator already: The tomcat service GUI used to start the service is executed via the Run as administrator contextual menu command. That doesn't mean the service itself is using the administrator acct. You need to set that explicitly in the service manager. Open the properties of the tomcat service, and go to the Log On tab. What is set there? Unless you changed it, it's probably set as Local System. D - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Classpath issue *only* when starting tomcat 6 as a service
Hi. I don't really know if it is important here, I don't know Waffle, the type of error does not match, and it doesn't look below like you are using any network paths. That was the disclaimer of responsibility. One aspect that is different when you run Tomcat as a service, is (usuallly) the user-id under which it runs. As a service, the standard Tomcat installation will configure it to run as LocalSystem, which is a special user having a lot of rights on the local machine, but /NO/ network acess rights in the Microsoft sense (no access to network shares, to other systems etc..). Even if you change that in order to run as Administrator, this Administrator may still be a purely local account (as opposed to a Domain account). As mentioned before, I do not know Waffle in detail, but it offers a form of Windows Domain authentication, and to do that at some point it needs to be able to present itself as a Windows *domain* user, otherwise it will not have access to an authenticating server. Whether this account that it needs to use is configured separately, or is the same as the one Tomcat runs under, that I don't know. All of this to say that if you encounter some issues when running Tomcat as a service with Waffle enabled, and you do not have these same problems with Waffle disabled (or when running Tomcat+Waffle from a command window under *your* login account - presumably a domain account), there may be a link with the user-id. Patrick Guillot - Genigraph wrote: Hello, Right. I have used a script I made because I had several tomcat instances to set-up (2x8). Attached is the script I used. I'm using multiple catalina_base (one for each application). At first, the Java Classpath: field of the Tomcat Service GUI only contains : bootsrap.jar and tomcat-juli.jar Since it did not work, I add the following in PR_CLASSPATH env. variable which correspond to the Java Options: field of the Tomcat Service GUI contained : -Djava.class.path=D:\tomcat\lib\annotations-api.jar;D:\tomcat\lib\catalina-a nt.jar;D:\tomcat\lib\catalina-ha.jar;D:\tomcat\lib\catalina-tribes.jar;D:\to mcat\lib\catalina.jar;D:\tomcat\lib\el-api.jar;D:\tomcat\lib\jasper-el.jar;D :\tomcat\lib\jasper-jdt.jar;D:\tomcat\lib\jasper.jar;D:\tomcat\lib\jsp-api.j ar;D:\tomcat\lib\servlet-api.jar;D:\tomcat\lib\tomcat-coyote.jar;D:\tomcat\l ib\tomcat-dbcp.jar;D:\tomcat\lib\tomcat-i18n-es.jar;D:\tomcat\lib\tomcat-i18 n-fr.jar;D:\tomcat\lib\tomcat-i18n-ja.jar;D:\tomcat\lib\jna.jar;D:\tomcat\li b\platform.jar;D:\tomcat\lib\waffle-jna.jar;D:\tomcat\lib\commons-logging-1. 1.1.jar Being so desperate :-) I add all the jars to both Java Classpath: and Java Options:. I just made a test after cleaning things up. This gives the following configuration : [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[0] -Dcatalina.home=D:\tomcat [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[1] -Dcatalina.base=D:\tomcat\instances\06_crlj [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[2] -Djava.endorsed.dirs=D:\tomcat\endorsed [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[3] -Djava.io.tmpdir=D:\tomcat\instances\06_crlj\temp [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[4] -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[5] -Djava.util.logging.config.file=D:\tomcat\instances\06_crlj\conf\logging.pro perties [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[6] -XX:MaxPermSize=256M [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[7] -Djava.class.path=D:\tomcat\bin\tomcat-juli.jar;D:\tomcat\bin\bootstrap.jar [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[8] vfprintf [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[9] -Xms256m [2011-06-10 10:46:03] [447 javajni.c] [debug] Jvm Option[10] -Xmx512m [2011-06-10 10:46:03] [629 javajni.c] [debug] argv[0] = start As far as I understand, line 7 contains what is set-up in the Java Classpath: field of the Tomcat Service GUI. It looks fine now, does it ? I still get the same error. Thanks, Patrick -Message d'origine- De : Pid [mailto:p...@pidster.com] Envoyé : vendredi 10 juin 2011 10:45 À : Tomcat Users List Objet : Re: Classpath issue *only* when starting tomcat 6 as a service On 10/06/2011 09:38, Patrick Guillot - Genigraph wrote: Hi everybody, I’m driving mad with a classpath issue : My environment : - Tomcat 6.0.29 - Windows Server 2008 R2 Standard 64 bits - JDK 1.5.0_22 My webapp is using Waffle (Windows Authentication Framework) (http://waffle.codeplex.com/) to benefit from transparent authentication. It is working just fine when tomcat is started in console mode. But console mode is not suitable for production use. Therefore, I set-up Tomcat 6 as a service (http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html). In this mode, tomcat does not start properly
Re: Classpath issue *only* when starting tomcat 6 as a service
On 10/06/2011 10:16, Patrick Guillot - Genigraph wrote: Right. I have used a script I made because I had several tomcat instances to set-up (2x8). Attached is the script I used. I'm using multiple catalina_base (one for each application). Please uninstall all Tomcat services. Now install Tomcat using service.bat - just once. http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html Does Tomcat work now? p signature.asc Description: OpenPGP digital signature
RE: Classpath issue *only* when starting tomcat 6 as a service
Hi all, Thanks for your inputs. I tried starting Tomcat via local administrator account, but it does not start at all (no log file produce for tomcat and got error 1069), neither via the GUI nor via command line. I have asked my customer to set-up a new virtual machine to do what you suggest pid (we just cannot uninstall all existing tomcat install which are currently being used for test/validation purpose). I'll test this next week when the new environment will be ready and let you know. Thanks again. Have a nice week-end. Kind regards, Patrick -Message d'origine- De : Pid [mailto:p...@pidster.com] Envoyé : vendredi 10 juin 2011 16:35 À : Tomcat Users List Objet : Re: Classpath issue *only* when starting tomcat 6 as a service On 10/06/2011 10:16, Patrick Guillot - Genigraph wrote: Right. I have used a script I made because I had several tomcat instances to set-up (2x8). Attached is the script I used. I'm using multiple catalina_base (one for each application). Please uninstall all Tomcat services. Now install Tomcat using service.bat - just once. http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html Does Tomcat work now? p - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Classpath issue *only* when starting tomcat 6 as a service
Patrick Guillot - Genigraph wrote: Hi all, Thanks for your inputs. I tried starting Tomcat via local administrator account, but it does not start at all (no log file produce for tomcat and got error 1069), neither via the GUI nor via command line. Probably because now it does not have the permission to overwrite one of the existing logfiles, belonging to the previous user-id. And since it can't write to the logfile, it can't tell you. I have asked my customer to set-up a new virtual machine to do what you suggest pid (we just cannot uninstall all existing tomcat install which are currently being used for test/validation purpose). I'll test this next week when the new environment will be ready and let you know. Thanks again. Have a nice week-end. Kind regards, Patrick -Message d'origine- De : Pid [mailto:p...@pidster.com] Envoyé : vendredi 10 juin 2011 16:35 À : Tomcat Users List Objet : Re: Classpath issue *only* when starting tomcat 6 as a service On 10/06/2011 10:16, Patrick Guillot - Genigraph wrote: Right. I have used a script I made because I had several tomcat instances to set-up (2x8). Attached is the script I used. I'm using multiple catalina_base (one for each application). Please uninstall all Tomcat services. Now install Tomcat using service.bat - just once. http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html Does Tomcat work now? p - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org