Boa Tarde Galera,
Estou tentando criar um projeto Java EE que é dividido em vários sub-projetos,
Por exemplo, queria criar algo assim:
Biometria [EAR Project]
Biometria Entidades [JPA Project]
BiometriaDao [EJB Project]
BiometriaBusiness [EJB Project]
BiometriaWeb [Web Project]
BiometriaSE [Java Project]
Porém, após criar, quando vou adicionar o EAR no GlasshFish, ocorre o seguinte erro:
cannot Deploy Biometria
Deployment Error for module: Biometria: Error occurred during deployment: Exception while loading the app : EJB Container initialization error. Please see server.log for more details.
Não existem erros, apenas Warnings, que são:
Podem me orientar onde estou errando?
A mensagem que você postou diz para olhar o log do servidor, você fez isso ?
Com certeza lá você encontrará mais informações.
Fiz sim, mas não consegui resolver, segue o Log:
Grave: Exception while loading the app : EJB Container initialization error
java.lang.VerifyError: Expecting a stackmap frame at branch target 16 in method br.com.biometria.entidade.Pais._persistence_checkFetched(Ljava/lang/String;)V at offset 5
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.sun.enterprise.deployment.util.TypeUtil.getMethod(TypeUtil.java:399)
at com.sun.enterprise.deployment.MethodDescriptor.getMethod(MethodDescriptor.java:334)
at org.glassfish.ejb.security.application.EJBSecurityManager.convertEJBMethodPermissions(EJBSecurityManager.java:550)
at org.glassfish.ejb.security.application.EJBSecurityManager.loadPolicyConfiguration(EJBSecurityManager.java:256)
at org.glassfish.ejb.security.application.EJBSecurityManager.initialize(EJBSecurityManager.java:317)
at org.glassfish.ejb.security.application.EJBSecurityManager.<init>(EJBSecurityManager.java:190)
at org.glassfish.ejb.security.factory.EJBSecurityManagerFactory.createManager(EJBSecurityManagerFactory.java:209)
at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:233)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:290)
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:101)
at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:249)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1247)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:465)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:222)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:722)
Pesquisando, vi em alguns forums que trocar para o JDK6 funciona.
Galera, Consegui resolver meu problema, mudei o título para que facilite a busca por este erro.
Coloquei essa propriedade:
<property name="eclipselink.weaving" value="false"/>
no persistence.xml
Uso essa configuração:
Eclipse como IDE
EJB 3.1 + JSF2 + JPA2 com EclipseLink + GlassFish + Mysql
Não configuro o acesso ao banco de dados no persistence, uso o GlasshFish para isso.
Meu Persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="BiometriaEntidadePU">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>biometria</jta-data-source>
<class>br.com.biometria.entidade.Aluno</class>
<class>br.com.biometria.entidade.Cidade</class>
<class>br.com.biometria.entidade.Curso</class>
<class>br.com.biometria.entidade.Endereco</class>
<class>br.com.biometria.entidade.Estado</class>
<class>br.com.biometria.entidade.Faculdade</class>
<class>br.com.biometria.entidade.Log</class>
<class>br.com.biometria.entidade.Materia</class>
<class>br.com.biometria.entidade.Pais</class>
<class>br.com.biometria.entidade.Professor</class>
<class>br.com.biometria.entidade.Turma</class>
<class>br.com.biometria.entidade.Usuario</class>
<properties>
<property name="showSql" value="true" />
<property name="eclipselink.logging.level" value="ALL"/>
<property name="eclipselink.logging.logger" value="org.eclipse.persistence.logging.DefaultSessionLog"/>
<property name="eclipselink.weaving" value="false"/>
</properties>
</persistence-unit>
</persistence>
Valeu.