I too use WebLogic 6.1 and I use to have my struts.jar (and everything else struts and Jakarta) in my war file's WEB-INF/lib directory and things seem to be ok, as long as all I was doing was JSP/Servlet stuff. However, when I tried to make my EJBs use the commons-logging.jar I had problems because as I learned the WLS EJB class loader does not see the WAR file's WEB-INF/lib; so I looked around and found that for 3rd party jars that are shared by JSPs and EJBs can be made available to the class loader by way of the EAR's manifest. I listed all my 3rd party jars separated by spaces in the EAR's meta-inf/Manifest.mf as follows:
Manifest-Version: 1.0 Class-Path: commons-logging.jar commons-beanutils.jar commons-collections.jar commons-dbcp.jar commons-digester.jar commons-fileupload.jar commons-lang.jar commons-logging.jar commons-pool.jar commons-resources.jar commons-services.jar commons-validator.jar display.jar jakarta-oro.jar jdbc2_0-stdext.jar log4j.jar struts.jar commons-logging.properties Then I placed all those jars right at the top of my EAR file structure (right up there with the myAppWAR.war and myAppEJB.jar files). I also put the same Manifest.mf entries in my myAppEJB.jar file and my myAppWAR.war file, but I don't know if that was really necessary or not. After that things seem to work ok for me (for now). Good luck, - Jim -----Original Message----- From: Foong Tzer [mailto:[EMAIL PROTECTED]] Sent: Friday, November 22, 2002 7:11 AM To: [EMAIL PROTECTED] Subject: Struts 1.1 beta2 on Weblogic 6.1 SP3 deployment problem Hi people, I'm a newbie in the mailing list. My environment is Weblogic 6.1 SP3 (Win 2000) running Struts 1.1 Beta 2. With Struts alone via war deployment itself...it works great with this message: - <Nov 22, 2002 3:54:09 PM SGT> <Notice> <Management> <Application Poller started for development server.> [ChangeAwareClassLoader] : Name is : META-INF/services/org.apache.commons.logging.LogFactory 0 [Thread-2] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.util.LocalStrings', returnNu ll=true 0 [Thread-2] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.action.ActionResources', ret urnNull=true 341 [Thread-2] INFO util.PropertyMessageResources - Initializing, config='com.see.sample.webapp.ApplicationResources', returnNull=true <Nov 22, 2002 3:54:11 PM SGT> <Notice> <WebLogicServer> <ListenThread listening on port 7001> BUT, via ear deployment, it throws an exception like this: - <Nov 22, 2002 7:40:40 PM SGT> <Notice> <Management> <Application Poller started for development server.> [ChangeAwareClassLoader] : Name is : META-INF/services/org.apache.commons.logging.LogFactory 0 [Thread-2] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.util.LocalStrings', returnNu ll=true 0 [Thread-2] INFO util.PropertyMessageResources - Initializing, config='org.apache.struts.action.ActionResources', ret urnNull=true 310 [Thread-2] ERROR digester.Digester - Begin event threw exception java.lang.reflect.InvocationTargetException: java.lang.NoClassDefFoundError: org/apache/struts/action/ActionForm at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:488) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:106) at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLo ader.java:394) at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader. java:157) at java.lang.ClassLoader.loadClass(ClassLoader.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:287) at java.lang.ClassLoader.loadClass(ClassLoader.java:250) at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClas sLoader.java:47) at org.apache.struts.config.FormBeanConfig.formBeanClass(FormBeanConfig.java:29 0) at org.apache.struts.config.FormBeanConfig.setType(FormBeanConfig.java:161) at java.lang.reflect.Method.invoke(Native Method) at org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.j ava:1650) at org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.j ava:1545) at org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:15 74) at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:919) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:726) at org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:2 59) at org.apache.commons.digester.Digester.startElement(Digester.java:1237) at weblogic.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1384) at weblogic.apache.xerces.validators.common.XMLValidator.callStartElement(XMLVa lidator.java:1191) at weblogic.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentS canner.java:1891) at weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispat ch(XMLDocumentScanner.java:1267) at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentSca nner.java:396) at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:975) at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:123) at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:125) at org.apache.commons.digester.Digester.parse(Digester.java:1495) at org.apache.struts.action.ActionServlet.initApplicationConfig(ActionServlet.j ava:860) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:455) at javax.servlet.GenericServlet.init(GenericServlet.java:258) at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java :713) at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.ja va:656) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav a:601) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletC ontext.java:2272) at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServlet Context.java:2216) at weblogic.servlet.internal.HttpServer.preloadServlets(HttpServer.java:495) at weblogic.servlet.internal.WebService.preloadServlets(WebService.java:450) at weblogic.t3.srvr.ServletInitRunner.run(ServletInitRunner.java:49) at java.lang.Thread.run(Thread.java:479) 320 [Thread-2] ERROR action.ActionServlet - Parsing error processing resource path /WEB-INF/struts-config.xml java.lang.reflect.InvocationTargetException at org.apache.commons.digester.Digester.createSAXException(Digester.java:2312) at org.apache.commons.digester.Digester.createSAXException(Digester.java:2332) I've scan through the forum, and it seems some say that weblogic has got some special class loader problem. Others say it's fix by adding a classpath to the manifest file like this: - Manifest-Version: 1.0 Created-By: Apache Ant 1.5 Class-Path: commons-beanutils.jar commons-collections.jar Class-Path: commons-dbcp.jar commons-digester.jar Class-Path: commons-logging.jar commons-pool.jar Class-Path: commons-services.jar commons-validator.jar Class-Path: jakarta-oro.jar struts.jar No, my Weblogic classpath hasn't got Struts.jar on it. Anyone has got any other suggestion, please? Regards, Tzer [EMAIL PROTECTED] Why J2EE needs architecture? http://www.see-consulting.com -- http://fastmail.fm - Access your email from home and the web -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

