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 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-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

Reply via email to