Hi All,
Issue: after upgrading my web.xml file to use the
ERXServletAdaptor instead of the WOServletAdaptor, I get a “Main bundle 'Properties' file can't be read” exception.
Note: The application works with the
WOServletAdaptor, so I believe everything is generally configured correctly.
Quick App Description:
·
WO: 5.4.3
·
Wonder: 6.1
·
Built using maven
·
Application class is an extension of ERXApplication
·
Packaged as a true war
o
i.e. the Properties file is packaged inside a jar
After looking at the collectMainProps method in ERXApplication, I got this working in a hacky way.
To get it to work:
·
Unpacked my APP.war
·
cd WEB-INF/lib
·
mv APP-1.0-SNAPSHOT.jar APP.jar
·
repack my APP.war
Q: is it possible that ERXServletAdaptor is not passing the correct mainBundle to the ERXApplication?
Q: is the a property that can be set to specify the mainBundle?
Q: other ideas?
Thanks,
Mike
Exception:
java.lang.reflect.InvocationTargetException
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 er.extensions.jspservlet.ERXServletAdaptor.init(ERXServletAdaptor.java:66)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
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:618)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618)
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)
Caused by: java.lang.ExceptionInInitializerError
at com.webobjects.appserver.WOApplication.primeApplication(WOApplication.java:665)
... 26 more
Caused by: java.lang.IllegalStateException: Main bundle 'Properties' file can't be read. Did you run as a Java Application instead of a WOApplication
in WOLips?
Please post your deployment configuration in the Wonder mailing list.
at er.extensions.appserver.ERXApplication$Loader.collectMainProps(ERXApplication.java:769)
at er.extensions.appserver.ERXApplication$Loader.bundleDidLoad(ERXApplication.java:666)
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.foundation.NSSelector._safeInvokeMethod(NSSelector.java:122)
at com.webobjects.foundation.NSNotificationCenter$_Entry.invokeMethod(NSNotificationCenter.java:588)
at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:532)
at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:562)
at com.webobjects.foundation.NSBundle.addBundle(NSBundle.java:853)
at com.webobjects.foundation.development.NSBundleFactory.bundleForPathWithRegistry(NSBundleFactory.java:23)
at com.webobjects.foundation.NSBundle.LoadBundlesFromJars(NSBundle.java:714)
at com.webobjects.foundation.NSBundle.<clinit>(NSBundle.java:315)
... 27 more
Michael Walters .
Manager of DevOps . SunGard . Kiodex . 59 Maiden Lane
. New York . Tel
+1 646-445-1223 .
Cell
+1 415-819-3572
CONFIDENTIALITY: This e-mail (including any attachments) may contain confidential, proprietary and privileged
information, and unauthorized disclosure or use is prohibited. If you receive this e-mail in error, please notify the sender and delete this e-mail from your system.