jakarta-cactus-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vincent Massol" <vmas...@octo.com>
Subject Packaging Cactus in a J2EE application (WAS RE: Cactus : Struts)
Date Sat, 15 Dec 2001 19:12:05 GMT



> -----Original Message-----
> From: David L. Wasler [mailto:dwasler@yahoo.com]
> Sent: 15 December 2001 18:30
> To: Cactus Users List
> Subject: RE: Cactus : Struts
> 
> Hi:
> 
> As a suggestion, you might want to build a EAR
> component which hold multiples WAR components, in
> WL6.1 you can set roles and rules for these
> components. Not sure if BEA has fixed all the bugs in
> this feature.

No it hasn't ... :)

Here is a packaging that I propose for packaging Cactus in an EAR :

Mytest.ear
  |_ myejbjar.jar
    |_ META-INF
      |_ manifest.mf (ref. lib/cactus.jar, lib/log4j.jar, lib/junit.jar)
    |_ classes
  |_ mywar.war
    |_ META-INF
      |_ manifest.mf (ref. lib/cactus.jar, lib/log4j.jar, lib/junit.jar)

    |_ WEB-INF
      |_ web.xml (inc. cactus mapping)
      |_ lib
        |_ struts.jar
      |_ classes
        |_ classes + test classes
  |_ lib
    |_ cactus.jar
    |_ log4j.jar
    |_ junit.jar

This would be the "ideal" packaging. However, there are a few issues,
depending on the application server you use (as they don't all fully
respect EAR packaging yet). For example, here are the gotchas with WL6.1
:

* It does not accept jar put in a directory for external libraries (i.e.
using Class-Path in the manifest file). So you have to put cactus.jar,
log4j.jar and junit.jar at the top level in the ear and not under a lib
directory.

* I'm not sure it supports using external libraries for war files, in
which case we would have to copy the jar files to mywar.war/WEB-INF/lib.

-Vincent

> 
> Cheers
> David L. Wasler
> dwasler@yahoo.com
> 
> 
> --- Pavan Aripirala Venkata
> <pvenkata@h5technologies.com> wrote:
> > 	I have cactus.jar, junit.jar and servlet.jar in
> > WEB_INF/lib
> > directory. Actually in a war file called
> > cactus_lance.war file. This war
> > file also contains the Cactus and struts test
> > classes.
> > 	There is a another war file - lance.war - which
> > contains
> > struts.jar file, whose properties map to
> > WEB_INF/lib. The actual classes
> > to be tested are present in this war file. This
> > web.xml file in this war
> > file contains the Redirector mappings.
> > 	All the above is w.r.t server. On the client end -
> > struts.jar,
> > cactus.jar, httpclient.jar and the directory
> > containing
> > cactus.properties file in the classpath and this
> > classpath is specified
> > through the ant scripts and therefore are not in the
> > system classpath.
> > 	System classpath has none of the jar files or even
> > our product
> > classes. Everything is specified in ant. All that is
> > there in the system
> > classpath is the weblogic home, java home and ant
> > home.
> > Hopefully this info suffices.
> > Thanks Vincent
> >
> > Pavan.
> >
> >
> > -----Original Message-----
> > From: Vincent Massol [mailto:vmassol@octo.com]
> > Sent: Thursday, December 13, 2001 10:59 AM
> > To: 'Cactus Users List'
> > Subject: RE: Cactus : Struts
> >
> >
> > You need to be more precise. Where is the struts.jar
> > located _exactly_
> > and where are the cactus.jar, junit.jar ? Do you
> > have any jar in the
> > system classpath and if so, which ones ?
> >
> > It seems your problem is related to classloaders,
> > which is why I'm
> > asking these questions.
> >
> > thanks
> > -Vincent
> >
> > > -----Original Message-----
> > > From: Pavan Aripirala Venkata
> > [mailto:pvenkata@h5technologies.com]
> > > Sent: 13 December 2001 18:26
> > > To: Cactus Users List
> > > Subject: RE: Cactus : Struts
> > >
> > >     Yes all the related jar files are in the
> > classpath or in
> > WEB-INF/lib
> > > directory. The only jar I added is the Struts.jar
> > file.
> > >
> > > Pavan.
> > >
> > >
> > > -----Original Message-----
> > > From: Vincent Massol [mailto:vmassol@octo.com]
> > > Sent: Wednesday, December 12, 2001 2:40 PM
> > > To: 'Cactus Users List'
> > > Subject: RE: Cactus : Struts
> > >
> > >
> > > Hi Pavan,
> > >
> > > Hum ... not sure what is happening here. Are you
> > sure that struts or
> > any
> > > other jar is not in your weblogic system classpath
> > ?
> > >
> > > -Vincent
> > >
> > > > -----Original Message-----
> > > > From: Pavan Aripirala Venkata
> > [mailto:pvenkata@h5technologies.com]
> > > > Sent: 11 December 2001 00:24
> > > > To: Cactus Users List
> > > > Subject: RE: Cactus : Struts
> > > >
> > > > 	Hi I used the StrutsTestCase.java to test one
> > of my struts
> > > > class. I have struts.jar file in WEB-INF/lib
> > directory of weblogic
> > 6.0
> > > > server. I am getting the following exception in
> > the setUp() method :
> > > >
> > > >      [java] java.lang.NoClassDefFoundError:
> > > > org/apache/struts/action/ActionFormBeans
> > > >      [java]     at
> > > >
> >
> com.ejemoni.qa.struts.TestLogonStrut.setUp(TestLogonStrut.java:93)
> > > >      [java]     at
> > > >
> > >
> >
>
org.apache.cactus.AbstractTestCase.runBareServerTest(AbstractTestCase.ja
> > > > va:454)
> > > >      [java]     at
> > > >
> > >
> >
>
org.apache.cactus.server.AbstractTestCaller.doTest(AbstractTestCaller.ja
> > > > va:137)
> > > >      [java]     at
> > > >
> >
> org.apache.cactus.server.AbstractTestController.handleRequest
> > > > (AbstractTestController.java:122)
> > > >      [java]     at
> > > >
> >
> org.apache.cactus.server.ServletTestRedirector.doPost(Servlet
> > > > TestRedirector.java:134)
> > > >
> > > > At this line
> > > >  	ActionFormBeans formBeans =
> > > >                   (ActionFormBeans)
> > > > context.getAttribute(Action.FORM_BEANS_KEY);
> > > >
> > > > If I do
> > > > 	Object tmpObj =
> > context.getAttribute(Action.FORM_BEANS_KEY);
> > > > and if I print this object, it is showing that
> > the type of object is
> > > > org.apache.struts.action.ActionFormBeans
> > > > but however if I cast it
> > > > 	ActionFormBeans formBeans =
> > > >                   (ActionFormBeans) tmpObj;
> > > > then again the above exception is being thrown
> > > > 	I am able to run the EJB tests using cactus,
> > but I am unable to
> > > > run the tests for struts. Could someone please
> > help me in this
> > regard?
> > > > Thanks
> > > >
> > > > Pavan.
> > > >
> > > > -----Original Message-----
> > > > From: Erik Hatcher
> > [mailto:jakarta-struts@ehatchersolutions.com]
> > > > Sent: Friday, November 09, 2001 1:51 PM
> > > > To: struts-user@jakarta.apache.org
> > > > Cc: cactus-user@jakarta.apache.org
> > > > Subject: Re: Cactus : Struts
> > > >
> > > >
> > > > First, I'd like to thank Nick for the great work
> > on the code he sent
> > > to
> > > > the
> > > > list.
> > > >
> > > > I wanted to get something officially submitted
> > to Struts or Cactus,
> > so
> > > I
> > > > took what Nick provided and based the attached
> > StrutsTestCase
> > loosely
> > > on
> > > > it.
> > > > I wanted to do away with the mock ActionServlet
> > inner class, so I
> > just
> > > > use
> > > > the instance of the actual servlet provided by
> > the ActionMappings
> > put
> > > in
> > > > application scope.
> > > >
> > > > I did not implement all the methods that Nick
> > had as I wanted to
> > start
> > > > small
> > > > and build up to it.  I borrowed his
> > assertNoErrors code.  In this
> > > > version
> > > > you can assert that there are no ActionErrors
> > (after a validate or
> > > after
> > > > an
> > > > Action.perform), and you can assert that the
> > desired ActionForward
> > > > (currently only by name, not path) is returned.
> > I wanted to go
> > ahead
> > > > and
> > > > toss this out for general review by both the
> > Struts
> === message truncated ===
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Check out Yahoo! Shopping and Yahoo! Auctions for all of
> your unique holiday gifts! Buy at http://shopping.yahoo.com
> or bid at http://auctions.yahoo.com
> 
> --
> To unsubscribe, e-mail:   <mailto:cactus-user-
> unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:cactus-user-
> help@jakarta.apache.org>
> 




--
To unsubscribe, e-mail:   <mailto:cactus-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:cactus-user-help@jakarta.apache.org>


Mime
View raw message