Peter den Haan wrote:
> > My apologies. The combination of a very Dutch-sounding name and the > "dutchman" mail alias made for some unwarranted assumptions on my part :^) My great-grandparents emigrated just before the turn of the century. I am told I used to be able so speak some Dutch that my great-grandmother taught me when I was young but it did not stick. > > I'm using Struts 1.0 on Orion 1.5.2 with the jar in WEB-INF/lib - no > problems whatsoever. > > Putting the jar in the CLASSPATH won't help - the orion.jar has its own > classpath specified in the manifest file. For the same reason, putting it in > the Orion directory won't help either. However, Orion will "see" any jar you > put in orion/lib. > > However, WEB-INF/lib is where it "really" should be. Have you confirmed that > the offending class is actually in the jar? It's a long shot, but... > > Regards, > > - Peter I have the struts.jar file in the WEB-INF/lib directory. I even downloaded the Struts source so I could trace the problem to the exact statement. The following is from the ActionServlet.processActionCreate: // Go ahead and create the new Action instance // ASSERT: This will never ever happen more than once // for a particular action class name try { if (debug >= 1) { log(" Creating new Action instance"); } ClassLoader loader = Thread.currentThread().getContextClassLoader(); System.out.println("ActionServlet.processActionCreate, our loader looks like this: [" + loader + "]"); Class clazz = Class.forName(actionClass, true, loader); actionInstance = (Action) clazz.newInstance(); actionInstance.setServlet(this); actions.put(actionClass, actionInstance); } catch (Throwable t) { System.out.println("ActionServlet.processActionCreate, Throwable caught: [" + t.toString() + "]"); log("Error creating Action instance for path '" + mapping.getPath() + "', class name '" + actionClass + "'", t); return (null); } The output from this section looks like this: ActionServlet.processActionCreate, our loader looks like this: [[ThreadContextLoader, current context: [ClassLoader: [[/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/httpunit.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/httpclient.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/cactus.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/log.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/commons-collections.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/struts.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/application.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/commons-digester.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/commons-beanutils.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/lib/junit.jar], [/opt/prod/application-deployments/subrotrack/subrotrack/subrotrack-web/WEB-INF/classes]]]]] ActionServlet.processActionCreate, Throwable caught: [java.lang.NoClassDefFoundError: org/apache/struts/action/Action] What is really weird is that it displays an ActionForm before this process is executed. So it can find org/apache/struts/action/ActionForm but not Action. Thoughts? -- Perry Hoekstra E-Commerce Architect Talent Software Services [EMAIL PROTECTED]