Re: More problems: Error finding class ...

2005-08-30 Thread David Turley
Okay, I gave in and put everything in the WEB-INF/classes directory.  It 
works that way.  Thanks for your help!


--David

Kenney Westerhof wrote:


On Mon, 29 Aug 2005, David Turley wrote:

Well client side it works fine, your setup is OK.

However, you got a ServletException, indicating a server side error.
And server side, those classes really can't be found. Even if they're
in WEB-INF/classes/. Say you have com.mycompany.TestClass
in WEB-INF/classes/test-classes/com/mycompany/TestClass.class.

The webservice can't find that class because it's in the wrong dir.
It looks for WEB-INF/classes/com/mycompany/TestClass.class.

So in the server-side war you can only have those classes in
WEB-INF/classes DIRECTLY, no extra directories!

I suggest you just put all jars in WEB-INF/classes. Doesn't really matter
where they are; if you are debugging, you can see the source location
anyway which tells you immediately what kind of source it is.

-- Kenney

 


Hi Kenney,

You said that if I'm running the classes straight from Eclipse (which I
am) I could add WEB-INF/classes as a src directory.  I have the test
source directories added as source directories with the correct output
folders.  Here are the lines from my .classpath file:

   classpathentry excluding=**/CVS/ kind=src path=src/
   classpathentry excluding=**/CVS/
output=web/WEB-INF/test-classes/cactus-classes kind=src
path=test/cactus-src/
   classpathentry excluding=**/CVS/
output=web/WEB-INF/test-classes/junit-classes kind=src
path=test/junit-src/

Is that sort of what you meant?  Should that work?  It doesn't,
unfortunately.  If you can't see anything wrong with that, I'll just
have Eclipse output my test classes into WEB-INF/classes...  I'd rather
not.  Maybe I'm just stubborn.  When I think something SHOULD work, I
want it to :-).

Kenney Westerhof wrote:

   


On Mon, 29 Aug 2005, David Turley wrote:

Hi David,

If you deploy that war, the classes NEED to be in WEB-INF/classes.
You could also jar them up and put them in WEB-INF/lib/.
Those are the only two places classes should be placed in web
applications.

If you run those classes directly from eclipse, you could add
WEB-INF/test-classes as a source folder (or, if you have a separate source
folder for the test-classes sources, modify .classpath and specify
an output=.../WEB-INF/test-classes to the correct line; can't edit them
 


from within eclipse).
   


But, in the war, they really NEED to be in the classpath or else the
Webapp classloader won't find them! And it really doesn't matter where
your classes are, as long as your sources are nicely organized.

HTH,

Kenney



 


Hello again,

  Yes, I'm still having problems, and most of them have nothing to do
with computers.  But this one does.  When I first started playing with
Cactus, I was just running things from Eclipse and the JUnit test
runner, but then I wanted to automate things, so I spent a lot of time
working with Ant.  At first I had put my test classes in the same
directories as the classes they were testing, but I decided that was
messy and decided to make separate src and class directories for the
test classes.  That works great with ant because you could have your
test classes on mars as long as you could tell ant where to find them.
Not so with the JUnit integration in Eclipse.  It cannot find my test
classes.  It worked fine when they were going to the WEB-INF/classes
directory, but now they're in WEB-INF/test-classes and I get the
following when I try to run tests:

javax.servlet.ServletException: Error finding class
[com.cleanbrain.cleantelligent.presentation.action.LoadActionCactusTest]
using both the Context classloader and the webapp classloader. Possible
causes include:
  - Your webapp does not include your test classes,
  - The cactus.jar is not located in your WEB-INF/lib directory and
your Container has not set the Context classloader to point to the
webapp one

followed by the rest of the stack trace.  Well, the cactus.jar is in the
correct place.  That's about all I know.  I don't know much (anything)
about classloaders, so maybe that's my problem.  Maybe it's just another
I.D.10T. error.  :-)  I'm learning

Thanks,
David

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



   


--
Kenney Westerhof
http://www.neonics.com
GPG public key: http://www.gods.nl/~forge/kenneyw.key

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

   



--
Kenney Westerhof
http://www.neonics.com
GPG public key: http://www.gods.nl/~forge/kenneyw.key

-

More problems: Error finding class ...

2005-08-29 Thread David Turley

Hello again,

   Yes, I'm still having problems, and most of them have nothing to do 
with computers.  But this one does.  When I first started playing with 
Cactus, I was just running things from Eclipse and the JUnit test 
runner, but then I wanted to automate things, so I spent a lot of time 
working with Ant.  At first I had put my test classes in the same 
directories as the classes they were testing, but I decided that was 
messy and decided to make separate src and class directories for the 
test classes.  That works great with ant because you could have your 
test classes on mars as long as you could tell ant where to find them.  
Not so with the JUnit integration in Eclipse.  It cannot find my test 
classes.  It worked fine when they were going to the WEB-INF/classes 
directory, but now they're in WEB-INF/test-classes and I get the 
following when I try to run tests:


javax.servlet.ServletException: Error finding class 
[com.cleanbrain.cleantelligent.presentation.action.LoadActionCactusTest] 
using both the Context classloader and the webapp classloader. Possible 
causes include:

   - Your webapp does not include your test classes,
   - The cactus.jar is not located in your WEB-INF/lib directory and 
your Container has not set the Context classloader to point to the 
webapp one


followed by the rest of the stack trace.  Well, the cactus.jar is in the 
correct place.  That's about all I know.  I don't know much (anything) 
about classloaders, so maybe that's my problem.  Maybe it's just another 
I.D.10T. error.  :-)  I'm learning


Thanks,
David

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: More problems: Error finding class ...

2005-08-29 Thread Kenney Westerhof
On Mon, 29 Aug 2005, David Turley wrote:

Hi David,

If you deploy that war, the classes NEED to be in WEB-INF/classes.
You could also jar them up and put them in WEB-INF/lib/.
Those are the only two places classes should be placed in web
applications.

If you run those classes directly from eclipse, you could add
WEB-INF/test-classes as a source folder (or, if you have a separate source
folder for the test-classes sources, modify .classpath and specify
an output=.../WEB-INF/test-classes to the correct line; can't edit them
from within eclipse).

But, in the war, they really NEED to be in the classpath or else the
Webapp classloader won't find them! And it really doesn't matter where
your classes are, as long as your sources are nicely organized.

HTH,

Kenney

 Hello again,

 Yes, I'm still having problems, and most of them have nothing to do
 with computers.  But this one does.  When I first started playing with
 Cactus, I was just running things from Eclipse and the JUnit test
 runner, but then I wanted to automate things, so I spent a lot of time
 working with Ant.  At first I had put my test classes in the same
 directories as the classes they were testing, but I decided that was
 messy and decided to make separate src and class directories for the
 test classes.  That works great with ant because you could have your
 test classes on mars as long as you could tell ant where to find them.
 Not so with the JUnit integration in Eclipse.  It cannot find my test
 classes.  It worked fine when they were going to the WEB-INF/classes
 directory, but now they're in WEB-INF/test-classes and I get the
 following when I try to run tests:

 javax.servlet.ServletException: Error finding class
 [com.cleanbrain.cleantelligent.presentation.action.LoadActionCactusTest]
 using both the Context classloader and the webapp classloader. Possible
 causes include:
 - Your webapp does not include your test classes,
 - The cactus.jar is not located in your WEB-INF/lib directory and
 your Container has not set the Context classloader to point to the
 webapp one

 followed by the rest of the stack trace.  Well, the cactus.jar is in the
 correct place.  That's about all I know.  I don't know much (anything)
 about classloaders, so maybe that's my problem.  Maybe it's just another
 I.D.10T. error.  :-)  I'm learning

 Thanks,
 David

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


--
Kenney Westerhof
http://www.neonics.com
GPG public key: http://www.gods.nl/~forge/kenneyw.key

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: More problems: Error finding class ...

2005-08-29 Thread David Turley

Hi Kenney,

You said that if I'm running the classes straight from Eclipse (which I 
am) I could add WEB-INF/classes as a src directory.  I have the test 
source directories added as source directories with the correct output 
folders.  Here are the lines from my .classpath file:


   classpathentry excluding=**/CVS/ kind=src path=src/
   classpathentry excluding=**/CVS/ 
output=web/WEB-INF/test-classes/cactus-classes kind=src 
path=test/cactus-src/
   classpathentry excluding=**/CVS/ 
output=web/WEB-INF/test-classes/junit-classes kind=src 
path=test/junit-src/


Is that sort of what you meant?  Should that work?  It doesn't, 
unfortunately.  If you can't see anything wrong with that, I'll just 
have Eclipse output my test classes into WEB-INF/classes...  I'd rather 
not.  Maybe I'm just stubborn.  When I think something SHOULD work, I 
want it to :-).


Kenney Westerhof wrote:


On Mon, 29 Aug 2005, David Turley wrote:

Hi David,

If you deploy that war, the classes NEED to be in WEB-INF/classes.
You could also jar them up and put them in WEB-INF/lib/.
Those are the only two places classes should be placed in web
applications.

If you run those classes directly from eclipse, you could add
WEB-INF/test-classes as a source folder (or, if you have a separate source
folder for the test-classes sources, modify .classpath and specify
an output=.../WEB-INF/test-classes to the correct line; can't edit them
from within eclipse).

But, in the war, they really NEED to be in the classpath or else the
Webapp classloader won't find them! And it really doesn't matter where
your classes are, as long as your sources are nicely organized.

HTH,

Kenney

 


Hello again,

   Yes, I'm still having problems, and most of them have nothing to do
with computers.  But this one does.  When I first started playing with
Cactus, I was just running things from Eclipse and the JUnit test
runner, but then I wanted to automate things, so I spent a lot of time
working with Ant.  At first I had put my test classes in the same
directories as the classes they were testing, but I decided that was
messy and decided to make separate src and class directories for the
test classes.  That works great with ant because you could have your
test classes on mars as long as you could tell ant where to find them.
Not so with the JUnit integration in Eclipse.  It cannot find my test
classes.  It worked fine when they were going to the WEB-INF/classes
directory, but now they're in WEB-INF/test-classes and I get the
following when I try to run tests:

javax.servlet.ServletException: Error finding class
[com.cleanbrain.cleantelligent.presentation.action.LoadActionCactusTest]
using both the Context classloader and the webapp classloader. Possible
causes include:
   - Your webapp does not include your test classes,
   - The cactus.jar is not located in your WEB-INF/lib directory and
your Container has not set the Context classloader to point to the
webapp one

followed by the rest of the stack trace.  Well, the cactus.jar is in the
correct place.  That's about all I know.  I don't know much (anything)
about classloaders, so maybe that's my problem.  Maybe it's just another
I.D.10T. error.  :-)  I'm learning

Thanks,
David

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

   



--
Kenney Westerhof
http://www.neonics.com
GPG public key: http://www.gods.nl/~forge/kenneyw.key

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: More problems: Error finding class ...

2005-08-29 Thread Kenney Westerhof
On Mon, 29 Aug 2005, David Turley wrote:

Well client side it works fine, your setup is OK.

However, you got a ServletException, indicating a server side error.
And server side, those classes really can't be found. Even if they're
in WEB-INF/classes/. Say you have com.mycompany.TestClass
in WEB-INF/classes/test-classes/com/mycompany/TestClass.class.

The webservice can't find that class because it's in the wrong dir.
It looks for WEB-INF/classes/com/mycompany/TestClass.class.

So in the server-side war you can only have those classes in
WEB-INF/classes DIRECTLY, no extra directories!

I suggest you just put all jars in WEB-INF/classes. Doesn't really matter
where they are; if you are debugging, you can see the source location
anyway which tells you immediately what kind of source it is.

-- Kenney

 Hi Kenney,

 You said that if I'm running the classes straight from Eclipse (which I
 am) I could add WEB-INF/classes as a src directory.  I have the test
 source directories added as source directories with the correct output
 folders.  Here are the lines from my .classpath file:

 classpathentry excluding=**/CVS/ kind=src path=src/
 classpathentry excluding=**/CVS/
 output=web/WEB-INF/test-classes/cactus-classes kind=src
 path=test/cactus-src/
 classpathentry excluding=**/CVS/
 output=web/WEB-INF/test-classes/junit-classes kind=src
 path=test/junit-src/

 Is that sort of what you meant?  Should that work?  It doesn't,
 unfortunately.  If you can't see anything wrong with that, I'll just
 have Eclipse output my test classes into WEB-INF/classes...  I'd rather
 not.  Maybe I'm just stubborn.  When I think something SHOULD work, I
 want it to :-).

 Kenney Westerhof wrote:

 On Mon, 29 Aug 2005, David Turley wrote:
 
 Hi David,
 
 If you deploy that war, the classes NEED to be in WEB-INF/classes.
 You could also jar them up and put them in WEB-INF/lib/.
 Those are the only two places classes should be placed in web
 applications.
 
 If you run those classes directly from eclipse, you could add
 WEB-INF/test-classes as a source folder (or, if you have a separate source
 folder for the test-classes sources, modify .classpath and specify
 an output=.../WEB-INF/test-classes to the correct line; can't edit them
 from within eclipse).
 
 But, in the war, they really NEED to be in the classpath or else the
 Webapp classloader won't find them! And it really doesn't matter where
 your classes are, as long as your sources are nicely organized.
 
 HTH,
 
  Kenney
 
 
 
 Hello again,
 
 Yes, I'm still having problems, and most of them have nothing to do
 with computers.  But this one does.  When I first started playing with
 Cactus, I was just running things from Eclipse and the JUnit test
 runner, but then I wanted to automate things, so I spent a lot of time
 working with Ant.  At first I had put my test classes in the same
 directories as the classes they were testing, but I decided that was
 messy and decided to make separate src and class directories for the
 test classes.  That works great with ant because you could have your
 test classes on mars as long as you could tell ant where to find them.
 Not so with the JUnit integration in Eclipse.  It cannot find my test
 classes.  It worked fine when they were going to the WEB-INF/classes
 directory, but now they're in WEB-INF/test-classes and I get the
 following when I try to run tests:
 
 javax.servlet.ServletException: Error finding class
 [com.cleanbrain.cleantelligent.presentation.action.LoadActionCactusTest]
 using both the Context classloader and the webapp classloader. Possible
 causes include:
 - Your webapp does not include your test classes,
 - The cactus.jar is not located in your WEB-INF/lib directory and
 your Container has not set the Context classloader to point to the
 webapp one
 
 followed by the rest of the stack trace.  Well, the cactus.jar is in the
 correct place.  That's about all I know.  I don't know much (anything)
 about classloaders, so maybe that's my problem.  Maybe it's just another
 I.D.10T. error.  :-)  I'm learning
 
 Thanks,
 David
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
 
 --
 Kenney Westerhof
 http://www.neonics.com
 GPG public key: http://www.gods.nl/~forge/kenneyw.key
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


--
Kenney Westerhof
http://www.neonics.com
GPG public key: http://www.gods.nl/~forge/kenneyw.key

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]