Hello everyone. I'm back with a new question. I'm always trying (few days ago I'm on it "full-time") to build up a Linux environment to modify WebObjects based Web-CAT [1] application. If you remember my last posts I had some troubles. My system is based on Ubuntu Linux 12, Eclipse 3.7, WOLips 37 and Tomcat 7.0.40.
I tried using WO 5.4.3 + Wonder 5.0 installation but after many trials, i left that way for this other one: since Web-CAT developers release a war file and the application updates itself when starts (from here [2]), I decided to use frameworks itself downloaded and installed, so now I'm using same frameworks (same versions) in it used. (You can read list of used frameworks here [3]) Then, I also added few jars needed (always taken from initial, up to date, war released, trying to avoid diffrent packages version) and finally I've got _no java compilation errors_ (i was starting having more than 2000 errors). But, I'm now having strange runtime problems. Specifically, some WebObjects classes cannot be found. Here it is few lines of catalina.out log: ... invoking ERXApplication.setup() Installed NSProjectSearchPath fix java.lang.ClassNotFoundException: com.webobjects.appserver.WOSessionStore at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2895) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) at java.lang.ClassLoader.loadClass(ClassLoader.java:410) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:188) at com.webobjects.foundation._NSUtilities._classWithPartialName(_NSUtilities.java:350) at com.webobjects.foundation._NSUtilities.classWithName(_NSUtilities.java:334) at com.webobjects.appserver.WOApplication._instanceOfNamedClassAssignableFrom(WOApplication.java:5831) at com.webobjects.appserver.WOApplication.setSessionStoreClassName(WOApplication.java:5021) at com.webobjects.appserver.WOApplication.<init>(WOApplication.java:857) at er.extensions.appserver.ajax.ERXAjaxApplication.<init>(ERXAjaxApplication.java:22) at er.extensions.appserver.ERXApplication.<init>(ERXApplication.java:816) at org.webcat.core.Application.<init>(Application.java:124) at net.sf.webcat.core.Application.<init>(Application.java:33) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at java.lang.Class.newInstance0(Class.java:374) at java.lang.Class.newInstance(Class.java:327) at com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:616) at com.webobjects.appserver.WOApplication.primeApplication(WOApplication.java:634) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.webobjects.jspservlet.WOServletAdaptor._applicationInit(WOServletAdaptor.java:421) at com.webobjects.jspservlet.WOServletAdaptor.initStatics(WOServletAdaptor.java:95) at com.webobjects.jspservlet.WOServletAdaptor.init(WOServletAdaptor.java:652) at net.sf.webcat.WCServletAdaptor.init(WCServletAdaptor.java:109) at javax.servlet.GenericServlet.init(GenericServlet.java:160) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5123) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5407) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1672) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) ... as you can see WOSessionStore cannot be found, but JavaWebObjects framework is fisically present on filesystem and correctly mapped by WO automatic classloader (...t.jar:/home/flippo/tomcat7040_2/webapps/Web-CAT/WEB-INF/Web-CAT.woa/Contents/Library/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar...) Firstly i thought maybe some jar file is corrupted, so i replaced WebObjects jars with their content (removing only META-INF directory). I also properly modified Info.plist files (I don't know if this is needed, but I did it anyway). Result is that now class that it can't see is NSProperties of the JavaFoundation framework. ... Found MainBundle at: /home/flippo/tomcat7040_2/webapps/Web-CAT/WEB-INF/Web-CAT.woa java.lang.ClassNotFoundException: com.webobjects.foundation.NSProperties at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at com.webobjects.jspservlet.WOServletAdaptor._applicationInit(WOServletAdaptor.java:329) at com.webobjects.jspservlet.WOServletAdaptor.initStatics(WOServletAdaptor.java:95) at com.webobjects.jspservlet.WOServletAdaptor.init(WOServletAdaptor.java:652) at net.sf.webcat.WCServletAdaptor.init(WCServletAdaptor.java:109) at javax.servlet.GenericServlet.init(GenericServlet.java:160) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5123) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5407) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1672) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) ... I also tryied to bypass WO dynamic class loader setting java.class.path property with right ":"separated paths, but it still doesn't work. Is there anyone who can address me to the right way so I can solve this problems? Thank you. PS. Here i pasted full tomcat's log http://pastebin.com/TF3UQTLB [1] http://sourceforge.net/projects/web-cat/ [2] http://web-cat.org/updates [3] ---- Ajax.framework EOJDBCPrototypes.framework ERDirectToWeb.framework ERExtensions.framework ERJars.framework ExternalJars.framework JavaDirectToWeb.framework JavaDTWGeneration.framework JavaEOAccess.framework JavaEOControl.framework JavaEOProject.framework JavaFoundation.framework JavaJDBCAdaptor.framework JavaWebObjects.framework JavaWOExtensions.framework JavaWOJSPServlet.framework WOOgnl.framework ---- _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com