Hello, i have a problem using reflexion in a ear project. The same project work fine in Glassfish 2, but when i deploy it in Glassfish 3 i get a ClassNotFoundException:
GRAVE: java.lang.ClassNotFoundException: ar.edu.unl.rectorado.ilitias.app.comitente.ControladorComitente
at com.sun.enterprise.loader.ASURLClassLoader.findClassData(ASURLClassLoader.java:736)
at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:626)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at ar.edu.unl.rectorado.unut.framework.aplicacion.ContenedorPrincipal.abrirVentana(ContenedorPrincipal.java:213)
at ar.edu.unl.rectorado.unut.framework.aplicacion.menu.BarraMenu.actionPerformed(BarraMenu.java:114)
at nextapp.echo.extras.app.menu.AbstractMenuComponent.fireActionPerformed(AbstractMenuComponent.java:174)
at nextapp.echo.extras.app.menu.AbstractMenuComponent.doAction(AbstractMenuComponent.java:159)
at nextapp.echo.extras.app.menu.AbstractMenuComponent.processInput(AbstractMenuComponent.java:202)
at nextapp.echo.app.update.ClientUpdateManager.process(ClientUpdateManager.java:130)
at nextapp.echo.app.update.UpdateManager.processClientUpdates(UpdateManager.java:92)
at nextapp.echo.webcontainer.ComponentInputProcessor.process(ComponentInputProcessor.java:226)
at nextapp.echo.webcontainer.ClientMessage.process(ClientMessage.java:194)
at nextapp.echo.webcontainer.InputProcessor.process(InputProcessor.java:163)
at nextapp.echo.webcontainer.Synchronization.process(Synchronization.java:121)
at nextapp.echo.webcontainer.service.SynchronizeService.service(SynchronizeService.java:78)
at nextapp.echo.webcontainer.WebContainerServlet.process(WebContainerServlet.java:432)
at nextapp.echo.webcontainer.WebContainerServlet.doPost(WebContainerServlet.java:316)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)
Here is the code where i get the exception, it is in the war client
/**
* Abre una ventana en la sección inferior del panel.
*
* @param comando es el nombre de la ventana a abrir
*/
@Override
public void abrirVentana(final String comando) {
Object objeto = null;
try {
[b]objeto = Class.forName(comando).newInstance();[/b]
if (objeto instanceof CCWindowPane) {
abrirVentana((CCWindowPane) objeto);
}
} catch (InstantiationException ex) {
ex.printStackTrace();
abrirVentana(
new VentanaMensaje(ex.getMessage(), VentanaMensaje.ERROR));
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
abrirVentana(
new VentanaMensaje(ex.getMessage(), VentanaMensaje.ERROR));
} catch (IllegalAccessException ex) {
ex.printStackTrace();
abrirVentana(
new VentanaMensaje(ex.getMessage(), VentanaMensaje.ERROR));
}
}
i think there is a difference in the classpath, but do not know why. Any suggest about it?
thanks to all in advance.
Luigi
[Message sent by forum member 'luis22737928']
http://forums.java.net/jive/thread.jspa?messageID=476792