非常喜欢Ur的好作品,我在部署我的ejb-jar时遇到了glassfish服务器4的问题。我安装了xampp,所以我从那里使用mysql。我也在使用netbeans。我使用connector / j驱动程序为mysql创建了一个数据源,然后我将它用作我的jta数据源。我似乎无法在网上找到任何解决方案。谢谢这是异常的堆栈跟踪:
INFO: EclipseLink, version: Eclipse Persistence Services - 2.5.0.v20130507-3faac2b
WARNING: Problem while unregistering MBean: javax.management.InstanceNotFoundException: TopLink:Name=Development-file_/C_/Users/FOO/Documents/NetBeansProjects/Project/Project-ejb/build/classes/_Project-ejbPU,Type=Configuration
WARNING: Problem while unregistering MBean: javax.management.InstanceNotFoundException: TopLink:Name=Session(file_/C_/Users/FOO/Documents/NetBeansProjects/Project/Project-ejb/build/classes/_Project-ejbPU)
INFO: file:/C:/Users/FOO/Documents/NetBeansProjects/Project/Project-ejb/build/classes/_Project-ejbPU logout successful
SEVERE: java.lang.StackOverflowError
at org.eclipse.persistence.internal.helper.DatabaseField.hashCode(DatabaseField.java:400)
at java.util.HashMap.get(HashMap.java:317)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:874)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
SEVERE: Exception while deploying the app [Project-ejb]
SEVERE: Exception during lifecycle processing
org.glassfish.deployment.common.DeploymentException: Exception [EclipseLink-28019] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Deployment of PersistenceUnit [Project-ejbPU] failed. Close all factories for this PersistenceUnit.
Internal Exception: java.lang.StackOverflowError
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.createDeployFailedPersistenceException(EntityManagerSetupImpl.java:816)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:756)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302)
at org.glassfish.persistence.jpa.JPADeployer$2.visitPUD(JPADeployer.java:451)
at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
at org.glassfish.persistence.jpa.JPADeployer.iterateInitializedPUsAtApplicationPrepare(JPADeployer.java:492)
at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:398)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)
答案 0 :(得分:1)
在我的情况下,我跟踪了与我的代码相关的完整跟踪,直到达到......在我的情况下,我遇到了一个名为Query的问题:
Grave:Excepciónaldesplegarlaaplicación[segeca_restful]:Exception [EclipseLink-28019](Eclipse Persistence Services - 2.5.0.v20130507-3faac2b):org.eclipse.persistence.exceptions.EntityManagerSetupException 异常说明:PersistenceUnit [segeca_restfulPU]的部署失败。关闭此PersistenceUnit的所有工厂。 内部异常:异常[EclipseLink-0](Eclipse Persistence Services - 2.5.0.v20130507-3faac2b):org.eclipse.persistence.exceptions.JPQLException 异常说明:语法错误解析[SELECT p FROM Peticion p WHERE p.usuarioIdusuario.idusuario:= idusuario]。 [31,73]表达式不是有效的条件表达式。
也许在你的情况下根本原因可能是另一个,但我认为如果你检查glassfish的日志,你会发现它。
祝你好运,此致
卡尔。
答案 1 :(得分:0)
你好我遇到了类似的问题,但根本原因是不同的。我正在为多个Web项目使用一个相同的持久性项目。因此,我的解决方案是从应用程序服务器取消部署所有项目。重建它们并仅部署我需要的项目。有一些缓存。