Olá pessoal, estou tendo problemas para efetuar deploy de uma aplicação javaEE5 no weblogic, essa mesma aplicação funciona perfeitamente no glassfish, é utilizado o maven-plugin-ear para empacotamento.
Ao efetuar deploy via web console do weblogic, ocorre o seguinte erro:
[quote]<25/08/2010 17h38min37s BRT> <Error> <HTTP> <BEA-101371> <There was a failure when processing annotations for application /home/user/desenvolvimento/wls1033/user_projects/domains/deploy/servers/AdminServer/tmp/_WL_user/deploy-3/qj73l2/view.war. Please make sure that the annotations are valid. The error is javax.faces.webapp.FacesServlet>
<25/08/2010 17h38min37s BRT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID ‘1282768713910’ for task ‘40’. Error is: 'weblogic.application.ModuleException: Failed to load webapp: ‘/manager’'
weblogic.application.ModuleException: Failed to load webapp: '/manager’
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:404)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:280)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Truncated. see log file for complete stacktrace
>
<25/08/2010 17h38min37s BRT> <Notice> <LoggingService> <BEA-320400> <The log file /home/user/desenvolvimento/wls1033/user_projects/domains/deploy/servers/AdminServer/logs/deploy.log will be rotated. Reopen the log file if tailing has stopped. This can happen on some platforms like Windows.>
<25/08/2010 17h38min37s BRT> <Notice> <LoggingService> <BEA-320401> <The log file has been rotated to /home/user/desenvolvimento/wls1033/user_projects/domains/deploy/servers/AdminServer/logs/deploy.log00003. Log messages will continue to be logged in /home/user/desenvolvimento/wls1033/user_projects/domains/deploy/servers/AdminServer/logs/deploy.log.>
<25/08/2010 17h38min37s BRT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application ‘deploy-3’.>
<25/08/2010 17h38min37s BRT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: Failed to load webapp: '/manager’
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:404)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:280)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Truncated. see log file for complete stacktrace
>
<25/08/2010 17h38min37s BRT> <Error> <Console> <BEA-240003> <Console encountered the following error weblogic.application.ModuleException: Failed to load webapp: '/manager’
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:404)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:149)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:1221)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:367)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:280)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:177)
at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:37)
at weblogic.servlet.internal.WebAnnotationProcessorImpl.processServlets(WebAnnotationProcessorImpl.java:225)
at weblogic.servlet.internal.WebAnnotationProcessorImpl.processJ2eeAnnotations(WebAnnotationProcessorImpl.java:209)
at weblogic.servlet.internal.WebAnnotationProcessorImpl.processAnnotations(WebAnnotationProcessorImpl.java:105)
at weblogic.servlet.internal.WebAppServletContext.processAnnotations(WebAppServletContext.java:1359)
at weblogic.servlet.internal.WebAppServletContext.><init>(WebAppServletContext.java:440)
at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:484)
at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:418)
at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:976)
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:381)
>
[/quote]
Esse problema é porque o weblogic não provê as libs do jsf-1.2 por padrão, é necessário efetuar deploy de um pacote WAR de bibliotecas no domínio para que o servidor de aplicação disponibilize o jsf (ver http://download.oracle.com/docs/cd/E14571_01/web.1111/e13712/configurejsfandjtsl.htm#WBAPP197)
Feito isso, foi necessário adicionar um "Web Logic Module Deployment Descriptor (weblogic.xml)" no diretório WEB-INF do módulo WAR com o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.1/weblogic-web-app.xsd">
<wls:library-ref>
<wls:library-name>jsf</wls:library-name>
<wls:specification-version>1.2</wls:specification-version>
<wls:implementation-version>1.2.9.0</wls:implementation-version>
<wls:exact-match>false</wls:exact-match>
</wls:library-ref>
</wls:weblogic-web-app>
Problema da lib do jsf resolvido.
Porém, ao efetuar novo deploy, ocorre o seguinte erro:
[quote]<25/08/2010 17h55min27s BRT> <Error> <HTTP> <BEA-101371> <There was a failure when processing annotations for application /home/user/desenvolvimento/wls1033/user_projects/domains/deploy/servers/AdminServer/tmp/_WL_user/deploy-3/qj73l2/view.war. Please make sure that the annotations are valid. The error is br.com.iewweb.manager.AjaxModule>
<25/08/2010 17h55min27s BRT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID ‘1282769724020’ for task ‘45’. Error is: 'weblogic.application.ModuleException: Failed to load webapp: ‘/manager’'
weblogic.application.ModuleException: Failed to load webapp: '/manager’
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:404)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: br.com.viewweb.manager.AjaxModule
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:280)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Truncated. see log file for complete stacktrace
>
<25/08/2010 17h55min27s BRT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application ‘deploy-3’.>
<25/08/2010 17h55min27s BRT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: Failed to load webapp: '/manager’
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:404)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: br.com.viewweb.manager.AjaxModule
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:280)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Truncated. see log file for complete stacktrace
>
<25/08/2010 17h55min27s BRT> <Error> <Console> <BEA-240003> <Console encountered the following error weblogic.application.ModuleException: Failed to load webapp: '/manager’
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:404)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:149)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:1221)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:367)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ClassNotFoundException: br.com.viewweb.manager.AjaxModule
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:280)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:177)
at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:37)
at weblogic.servlet.internal.WebAnnotationProcessorImpl.processServlets(WebAnnotationProcessorImpl.java:225)
at weblogic.servlet.internal.WebAnnotationProcessorImpl.processJ2eeAnnotations(WebAnnotationProcessorImpl.java:209)
at weblogic.servlet.internal.WebAnnotationProcessorImpl.processAnnotations(WebAnnotationProcessorImpl.java:105)
at weblogic.servlet.internal.WebAppServletContext.processAnnotations(WebAppServletContext.java:1359)
at weblogic.servlet.internal.WebAppServletContext.><init>(WebAppServletContext.java:440)
at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:484)
at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:418)
at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:976)
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:381)
>
[/quote]
Essa classe está empacotado no EAR, não sei o motivo de ocorrer esse erro, abaixo segue estrutura do EAR gerado:
[quote]deploy-3.0-SNAPSHOT
|-- META-INF
| -- application.xml |-- bcmail-jdk14-138.jar |-- bcprov-jdk14-138.jar |-- business-impl-3.0-SNAPSHOT.jar |-- caelum-stella-core-1.2.jar |-- cglib-nodep-2.1_3.jar |-- commons-beanutils-1.7.0.jar |-- commons-codec-1.3.jar |-- commons-collections-3.2.1.jar |-- commons-digester-2.0.jar |-- commons-logging-1.0.4.jar |-- itext-2.1.5.jar |-- jasperreports-2.0.5.jar |-- jcommon-1.0.15.jar |-- jdtcore-3.1.0.jar |-- jfreechart-1.0.12.jar |-- jldap-4.3.jar |-- joda-time-1.6.jar |-- lib | |-- business-3.0-SNAPSHOT.jar |
– manager-3.0-SNAPSHOT.jar
|-- manager-impl-3.0-SNAPSHOT.jar // A classe AjaxModule encontra-se nesse jar
|-- objenesis-1.0.jar
|-- ojdbc14-10.2.0.3.0.jar
|-- view.war
|-- application.properties
|-- core-1.1.jar
|-- faces-1.0.jar
`-- xml-apis-1.3.02.jar
[/quote]
Como foi mostrado acima, a classe está no jar -> manager-impl-3.0-SNAPSHOT.jar (sim, abri o jar e verifiquei que o .class AjaxModule encontra-se lá no pacote indicado).
Existe alguma estrutura do EAR específica para o weblogic, já olhei na documentação do mesmo no site da oracle e não encontrei nada, alguma sugestão, alguém já trabalhou ou trabalha com o weblogic?
Agradeço desde já