Hello everyone,
I am developing some webobjects(wonder) applications and when I want to deploy them on a linux server, within a tomcat, I get this error (HelloWorld examples for simplicity) :
Dec 09 12:51:37 HelloWorld[-1] WARN NSLog - Failed to get localhost address
Dec 09 12:51:37 HelloWorld[-1] WARN NSLog - <WOApplication>: Cannot be initialized.java.net.UnknownHostException: <my_host>: <my_host>: Name or service not known
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:606)
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:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5231)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5518)
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:649)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1081)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1877)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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:745)
Caused by: com.webobjects.foundation.NSForwardException [java.net.UnknownHostException] <my_host>: Name or service not known:<your.app.Application> failed instantiation. Exception thrown :
com.webobjects.foundation.NSForwardException [java.net.UnknownHostException] <my_host>: Name or service not known:<WOApplication>: Cannot be initialized.: <WOApplication>: Cannot be initialized.
at com.webobjects.foundation._NSUtilities._explainInstantiationException(_NSUtilities.java:632)
at com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:646)
at com.webobjects.appserver.WOApplication.primeApplication(WOApplication.java:634)
... 25 more
Caused by: java.net.UnknownHostException: <my_host>: Name or service not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
at com.webobjects.appserver.WOApplication.<init>(WOApplication.java:811)
at er.extensions.appserver.ajax.ERXAjaxApplication.<init>(ERXAjaxApplication.java:30)
at er.extensions.appserver.ERXApplication.<init>(ERXApplication.java:1097)
at your.app.Application.<init>(Application.java:10)
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:526)
at java.lang.Class.newInstance(Class.java:379)
at com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:642)
... 26 more
It works fine on a local tomcat (I develop under Ubuntu), but not on my server (tomcat under RedHat Enterprise). Do you guys have any idea about what is going on ? Maybe I miss a configuration property, or maybe it is caused by a network configuration ? Other tomcat apps work (like tomcat manager).
On another subject, because of some work constraints, I try do work under windows and everything is fine, I can run my Wonder Application inside eclipse but when I try to launch it on a local tomcat, I get the following exception:
java.lang.IllegalArgumentException: <com.webobjects.appserver._private.WOComponentDefinition> Class 'Main' exists but is not a subclass of WOComponent.
I already encountered this error (only on windows) an fixed it with something I found in the mailing archives in order to specify the right main class:
_NSUtilities.setClassForName(Main.class, Main.class.getSimpleName());
But this time, nothing seems to change.
Thanks for your help.
Regards,
Anthonin LIZÉ