In general it isn't a good idea to put those custom libs (like
struts.jar, spring.jar) etc. in classloaders of the main
appserver. They should be in the applications-classloader so you can
avoid classloader-issues like leaks.
If you've got the first error it sounds to me that you've got the xwork
libs on ear level. If it's in web-inf/lib it shouldn't "see"
each other. The classloaders _should_ be seperated. I'm not sure if
glassfish handles it correctly but I would think so.
May be you've got another xwork.jar somewhere else, which is loaded at
first (such thing can happen if you build using maven and forgets to run
a clean before final build.)
If you've got two identically xwork.jars (or struts.jars) in the
classpath or in parent classpaths they will be considered as two
different types/versions. So I would think that you'll have a xwork.jar
somewhere in your parent classpath.
The second error occures if the loaded classes from lib/ext didn't find
the dependent classes within the current and in one of the parent
classloaders (up to the bootclassloader). If the javax.servlet.Filter is
loaded by a seperate classloader (which might be a child of the
classloader (which loads the classes from lib/ext) it wouldn't be found
by the lib/ext classes.
Hugo de Paix de Coeur schrieb:
In fact, this was my second question, so I ask it now :)
I have had problems with deploying *struts*.jar in this special
configuration (2 war in an ear).
- I tries to put them in each .war WEB-INF/lib
=> "Error : xwork...ObjectFactory already loaded in bean projectA" at
projectB deployment.
- I tries to put them in glassfish domain lib/ext
=> "Error : ClassLoader : Can't find javax.servlet.Filter"
So, they are for now in the glassfish "main" lib.. but there are
problems too .. at runtime.
What is the correct installation scheme for struts.jar with this
configuration ?
Thx...
On Wed, Jun 11, 2008 at 02:31:13PM +0200, Marc Ende wrote:
Hello,
do you deploy the struts.jar in the ear or in the WEB-INF/lib folders of
the war-files?
if they're in the WEB-INF/lib folders they should be seperate.
Marc
Hugo de Paix de Coeur schrieb:
Hello,
I'm currently trying to deploy two Struts2 enabled .war in a single
.ear on Glassfish.
My problem is : I've no isolation between the 2 projects at the action
dispatcher level.
----------------------------
Project A WAR struts.xml :
<struts>
<package name="projectA-support" namespace="/" extends="struts2-default">
<action name="Index" class="com.web.projectA.Index">
<result>/jsp/index.jsp</result>
</action>
</package>
Project B WAR struts.xml :
<struts>
<package name="projectB-support" namespace="/" extends="struts2-default">
<action name="Index" class="com.web.projectB.Index">
<result>/jsp/index.jsp</result>
</action>
<action name="Login" class="com.web.projectB.Login">
<result>/jsp/login.jsp</result>
</action>
</package>
----------------------------
1- I can call 'http://localhost:8080/ProjectA/Login.action' and this is
the 'com.web.projectB.Login' class that is executed (even if no Login
action is specified in Project A) because they share the namespace '/'.
2- If I call 'http://localhost:8080/ProjectA/Index.action', this is the
'com.web.projectB.Index' class that is executed (last struts.xml to be
parsed ?)
I've no clues to resolve this problem (the use of different namespaces
doesn't resolve the problem either)
Any idea ?
---------------------------------------------------------------------
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]