tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier ...@ice-sa.com>
Subject Re: Classpath issue *only* when starting tomcat 6 as a service
Date Fri, 10 Jun 2011 12:48:37 GMT
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:pid@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.
>>
>>  
>>
>> 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\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]
>> -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
> 
> Also you're setting classpath twice.
> 
> How did you install the service?  Did you use service.bat?
> 
> 
> p
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message