Tomee错误:javax.persistence.JoinColumn.foreignKey() [英] Tomee error: javax.persistence.JoinColumn.foreignKey()

查看:489
本文介绍了Tomee错误:javax.persistence.JoinColumn.foreignKey()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建我的第一个webapp。我使用hibernate,postgresql和tomee作为容器。我正在使用豆子和脸。当我尝试在我的tomee localhost上运行我的web应用程序时,一切都按预期工作。当我在我的AWS上加载它时(它有安装的同一版本的tomee),我得到这个错误。我坚持几个小时而没有得到解决方案。
这是我的catalina.out

  2016年5月26日上午4:18:24 org.hibernate.jpa。 internal.util.LogHelper logPersistenceUnitInformation 
INFO:HHH000204:正在处理PersistenceUnitInfo [
名称:临床单元
...]
2016年5月26日上午4:18:24 org。 hibernate.Version logVersion
INFO:HHH000412:Hibernate Core {5.1.0.Final}
2016年5月26日上午4:18:24 org.hibernate.cfg.Environment< clinit>
INFO:HHH000206:找不到hibernate.properties
2016年5月26日上午4时18分24秒org.hibernate.cfg.Environment buildBytecodeProvider
INFO:HHH000021:字节码提供程序名称:javassist
May 26,2016 4:18:24 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager< clinit>
INFO:HCANN000001:Hibernate Commons Annotations {5.0.1.Final}
2016年5月26日上午4:18:25 org.hibernate.dialect.Dialect< init>
INFO:HHH000400:使用方言:org.hibernate.dialect.PostgreSQL94Dialect
org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl useContextualLobCreation
INFO:HHH000424:禁用上下文LOB创建为createClob()方法抛出错误:java.lang.reflect.InvocationTargetException
2016年5月26日上午4时18分25秒org.hibernate.type.BasicTypeRegistry注册
INFO :HHH000270:类型注册[java.util.UUID]覆盖以前的:org.hibernate.type.UUIDBinaryType@66b53b0d
2016年5月26日上午4时18分26秒org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory createDelegate
INFO:PersistenceUnit(name = clinica-unit,provider = org.hibernate.ejb.HibernatePersistence) - provider time 1747ms
org.apache.openejb.assembler。 classic.Assembler destroyApplication
INFO:取消部署应用程序:/usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica
2016年5月26日上午4时18分26秒org.apache.catalina .core.Co ntainerBase removeChild
SEVERE:ContainerBase.removeChild:destroy:
org.apache.catalina.LifecycleException:组件[StandardEngine [Catalina] .StandardHost [localhost])试图进行无效的生命周期转换([before_destroy])。 StandardContext [/ PortaleClinica]]在状态[STARTING_PREP]
在org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:401)
在org.apache.catalina.util.LifecycleBase.destroy (LifecycleBase.java:291)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:1038)
at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java :1537)
at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1518)
at org.apache.tomee.catalina.TomcatWebAppBuilder.undeployWebApps(TomcatWebAppBuilder.java:762)
在org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:1982)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:839)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:677)
at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1261)
at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1100)
at org。 apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
处org.apache.catalina org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
。 util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5472)
at org.apache.catalina.util.LifecycleBase。开始(LifecycleBase.java:147)
在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java: 899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
at org.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:1980)
在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)$ b $在java.util.concurrent.FutureTask.run(FutureTask.java:262)
在java.util.concurrent .ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)$ java.util.concurrent.ThreadPoolExecutor
$ Worker.run(ThreadPoolExecutor.java:615)$ b $在java.lang.Thread.run(Thread.java :745)

2016年5月26日上午4:18:26 org.apache.openejb.assembler.classic.Assembler destroyResource
INFO:关闭数据源:PortaleClinica / clinica-unit-db
2016年5月26日上午4点18分26秒org.apache.catalina.loader.WebappClassLoaderBas e clearReferencesJdbc
SEVERE:Web应用程序[/ PortaleClinica]注册了JDBC驱动程序[org.postgresql.Driver],但在Web应用程序停止时无法取消注册。为了防止内存泄漏,JDBC驱动程序已被强制注销。
2016年5月26日上午4时18分26秒org.apache.tomee.catalina.TomcatWebAppBuilder startInternal
SEVERE:无法在战争中部署折叠的耳朵StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ PortaleClinica]
org.apache.openejb.OpenEJBException:创建应用程序失败:/usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica:javax.persistence.JoinColumn.foreignKey()Ljavax /持续性/ ForeignKey的;
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:843)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:677)
at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1261)
at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1100)
在org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache .catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5472)
at org.apache.catalina.util .LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja va:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
at org.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:1980)$ b $ java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)$ b $ java.util.concurrent.FutureTask.run(FutureTask.java:262)
java.util (ThreadPoolExecutor.java:615)$ b $在java.lang.Thread.run(Thread .java:745)
导致:java.lang.NoSuchMethodError:javax.persistence.JoinColumn.foreignKey()Ljavax / persistence / ForeignKey;
at org.hibernate.cfg.AnnotationBinder.bindManyToOne(AnnotationBinder.java:2898)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1742)
at org.hibernate .cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:906)
在org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:733)$ b $在org.hibernate.boot.model.source.internal b .annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess $ 1.processEntityHierarchies(MetadataBuildingProcess.java:222)
at org.hibernate。 boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265)
在org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:848)
。在组织。 hibernate.jpa.b oot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:876)
at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:135)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory( HibernatePersistence.java:50)
at org.apache.openejb.assembler.classic.EntityManagerFactoryCallable.call(EntityManagerFactoryCallable.java:64)
at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate( ReloadableEntityManagerFactory.java:116)
at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory。< init>(ReloadableEntityManagerFactory.java:102)
at org.apache.openejb.assembler.classic.PersistenceBuilder .createEntityManagerFactory(PersistenceBuilder.java:154)
at org.apache.openejb.assembler.classic.Assembler.loadPersistenceUnits(Assembler.java:982)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:741)
... 18 more

2016年5月26日上午4:18:26 org。 apache.catalina.core.ContainerBase addChildInternal
SEVERE:ContainerBase.addChild:start:
org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ PortaleClinica]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
at org.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:1980)
at java。 util.concurrent.Executors $ RunnableAdapter.c所有(Executors.java:471)
在java.util.concurrent.FutureTask.run(FutureTask.java:262)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)$ b $在java.lang.Thread.run(Thread.java:745)
导致:org .apache.tomee.catalina.TomEERuntimeException:org.apache.openejb.OpenEJBException:创建应用程序失败:/usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica:javax.persistence.JoinColumn.foreignKey()Ljavax /持久/ ForeignKey的;
at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1270)
at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1100)
在org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache .catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5472)
at org.apache.catalina.util .LifecycleBase.start(LifecycleBase.java:147)
... 10 more
导致:org.apache.openejb.OpenEJBException:创建应用程序失败:/ usr / share / apache-tomee-webprofile- 1.7.4 / webapps / PortaleClinica:javax.persistence.JoinColumn.foreignKey()Ljavax / persistence / ForeignKey;
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:843)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:677)
at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1261)
... 16 more
引起:java.lang.NoSuchMethodError:javax.persistence.JoinColumn .foreignKey()Ljavax /持久/ ForeignKey的;
at org.hibernate.cfg.AnnotationBinder.bindManyToOne(AnnotationBinder.java:2898)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1742)
at org.hibernate .cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:906)
在org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:733)$ b $在org.hibernate.boot.model.source.internal b .annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess $ 1.processEntityHierarchies(MetadataBuildingProcess.java:222)
at org.hibernate。 boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265)
在org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:848)
。在组织。 hibernate.jpa.b oot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:876)
at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:135)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory( HibernatePersistence.java:50)
at org.apache.openejb.assembler.classic.EntityManagerFactoryCallable.call(EntityManagerFactoryCallable.java:64)
at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate( ReloadableEntityManagerFactory.java:116)
at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory。< init>(ReloadableEntityManagerFactory.java:102)
at org.apache.openejb.assembler.classic.PersistenceBuilder .createEntityManagerFactory(PersistenceBuilder.java:154)
at org.apache.openejb.assembler.classic.Assembler.loadPersistenceUnits(Assembler.java:982)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:741)
... 18 more

2016年5月26日上午4:18:26 org。 apache.catalina.startup.HostConfig deployWAR
SEVERE:部署Web应用程序归档时出错/usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica.war
java.lang.IllegalStateException:ContainerBase .addChild:start:org.apache.catalina.LifecycleException:未能在org.apache.catalina.core.ContainerBase.addChildInternal中启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ PortaleClinica]]
(ContainerBase.java:903)
在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
在org.apache.catalina.core.StandardHost.addChild(StandardHost.java :652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
at org.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:1980 )
at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)$ b $ java.util.concurrent.FutureTask.run(FutureTask.java:262)
java.util.concurrent。 ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)$ b $在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)$ b $在java.lang.Thread.run(Thread.java: 745)

2016年5月26日上午4时18分26秒org.apache.catalina.startup.HostConfig deployWAR
信息:部署Web应用程序存档/ usr / share / apache-tomee- webprofile-1.7.4 / webapps / PortaleClinica.war已在3,950 ms完成
2016年5月26日上午4时18分26秒org.apache.catalina.startup.HostConfig deployDirectory
信息:部署Web应用程序目录/usr/share/apache-tomee-webprofile-1.7.4/webapps/manager
2016年5月26日上午4:18:26 org.apache.tomee.catalina.TomcatWebAppBuilder init
信息: - ----------------------- localhost - > / manager
2016年5月26日上午4时18分26秒org.apache.openejb.config.ConfigurationFactory configureApplication
信息:配置企业应用程序:/usr/share/apache-tomee-webprofile-1.7.4 / webapps / manager
2016年5月26日上午4时18分26秒org.apache.openejb.config.AppInfoBuilder构建
INFO:企业应用程序/usr/share/apache-tomee-webprofile-1.7。 4 / webapps / manager加载。
2016年5月26日上午4时18分26秒org.apache.openejb.assembler.classic.Assembler createApplication
INFO:装配应用程序:/usr/share/apache-tomee-webprofile-1.7.4/ webapps / manager
org.apache.openejb.cdi.CdiBuilder initSingleton
INFO:SystemInstance()中的现有线程单例服务:org.apache.openejb.cdi。 ThreadSingletonServiceImpl @ 53743c4f
2016年5月26日上午4时18分26秒org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO:OpenWebBeans容器正在启动...
2016年5月26日4:上午18:26 org.apache.webbeans.plugins.PluginLoader startUp
INFO:添加OpenWebBeansPlugin:[CdiPlugin]
2016年5月26日上午4时18分26秒org.apache.webbeans.plugins.PluginLoader startUp
INFO:添加OpenWebBeansPlugin:[OpenWebBeansJsfPlugin]
2016年5月26日上午4时18分26秒org.apache.webbeans.config.BeansDeployer validateInjectionPoints
信息:所有注入点均已成功验证。
2015年5月26日上午4点18分26秒org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO:OpenWebBeans容器已启动,耗时127毫秒。
2016年5月26日上午4点18分26秒org.apache.tomee.catalina.TomcatWebAppBuilder deployWebApps
INFO:使用上下文文件/usr/share/apache-tomee-webprofile-1.7.4/webapps/ manager / META-INF / context.xml
2016年5月26日上午4时18分26秒org.apache.openejb.assembler.classic.Assembler createApplication
INFO:部署的应用程序(路径= / usr / share /apache-tomee-webprofile-1.7.4/webapps/manager)
2016年5月26日上午4时18分27秒org.apache.catalina.startup.HostConfig deployDirectory
INFO:部署Web应用程序目录/usr/share/apache-tomee-webprofile-1.7.4/webapps/manager已在706 ms中完成
2016年5月26日上午4时18分27秒org.apache.catalina.startup.HostConfig deployDirectory
INFO:部署Web应用程序目录/usr/share/apache-tomee-webprofile-1.7.4/webapps/ROOT
2016年5月26日上午4:18:27 org.apache.tomee.catalina.TomcatWebAppBuilder init
INFO:------------------------- localhost - > /
org.apache.openejb.config.ConfigurationFactory configureApplication
INFO:配置企业应用程序:/usr/share/apache-tomee-webprofile-1.7.4/ webapps / ROOT
2016年5月26日上午4时18分27秒org.apache.openejb.config.AppInfoBuilder构建
INFO:企业应用程序/usr/share/apache-tomee-webprofile-1.7.4 / webapps / ROOT加载。
2016年5月26日上午4:18:27 org.apache.openejb.assembler.classic.Assembler createApplication
INFO:装配应用程序:/usr/share/apache-tomee-webprofile-1.7.4/ webapps / ROOT
org.apache.openejb.cdi.CdiBuilder initSingleton
INFO:SystemInstance()中的现有线程单例服务:org.apache.openejb.cdi。 ThreadSingletonServiceImpl @ 53743c4f
2016年5月26日上午4时18分27秒org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO:OpenWebBeans容器正在启动...
2016年5月26日4: 18:27 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO:添加OpenWebBeansPlugin:[CdiPlugin]
2016年5月26日上午4时18分27秒org.apache.webbeans.plugins.PluginLoader startUp
INFO:添加OpenWebBeansPlugin:[OpenWebBeansJsfPlugin]
org.apache.webbeans.config.BeansDeployer validateInjectionPoints
INFO:所有注入点均已成功验证。
2015年5月26日上午4时18分27秒org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO:OpenWebBeans容器已启动,耗时12毫秒。
2016年5月26日上午4时18分27秒org.apache.openejb.assembler.classic.Assembler createApplication
信息:部署的应用程序(路径= / usr / share / apache-tomee-webprofile-1.7。 4 / webapps / ROOT)
2016年5月26日上午4时18分27秒org.apache.catalina.startup.HostConfig deployDirectory
信息:部署Web应用程序目录/ usr / share / apache-tomee- webprofile-1.7.4 / webapps / ROOT已在127 ms完成
2016年5月26日上午4时18分27秒org.apache.catalina.startup.HostConfig deployDirectory
信息:部署Web应用程序目录/ usr /share/apache-tomee-webprofile-1.7.4/webapps/docs
2016年5月26日上午4:18:27 org.apache.tomee.catalina.TomcatWebAppBuilder init
INFO:---- --------------------- localhost - > / docs
org.apache.openejb.config.ConfigurationFactory configureApplication
INFO:配置企业应用程序:/usr/share/apache-tomee-webprofile-1.7.4 / webapps / docs
2016年5月26日上午4时18分27秒org.apache.openejb.config.AppInfoBuilder构建
INFO:企业应用程序/usr/share/apache-tomee-webprofile-1.7。 4 / webapps / docs加载。
2016年5月26日上午4:18:27 org.apache.openejb.assembler.classic.Assembler createApplication
INFO:装配应用程序:/usr/share/apache-tomee-webprofile-1.7.4/ webapps / docs
org.apache.openejb.cdi.CdiBuilder initSingleton
INFO:SystemInstance()中的现有线程单例服务:org.apache.openejb.cdi。 ThreadSingletonServiceImpl @ 53743c4f
2016年5月26日上午4时18分27秒org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO:OpenWebBeans容器正在启动...
2016年5月26日4: 18:27 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO:添加OpenWebBeansPlugin:[CdiPlugin]
2016年5月26日上午4时18分27秒org.apache.webbeans.plugins.PluginLoader startUp
INFO:添加OpenWebBeansPlugin:[OpenWebBeansJsfPlugin]
org.apache.webbeans.config.BeansDeployer validateInjectionPoints
INFO:所有注入点均已成功验证。
2015年5月26日上午4时18分27秒org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO:OpenWebBeans容器已启动,耗时7毫秒。
2016年5月26日上午4时18分27秒org.apache.openejb.assembler.classic.Assembler createApplication
信息:部署的应用程序(路径= / usr / share / apache-tomee-webprofile-1.7。 4 / webapps / docs)
2016年5月26日上午4时18分27秒org.apache.catalina.startup.HostConfig deployDirectory
信息:部署Web应用程序目录/ usr / share / apache-tomee- webprofile-1.7.4 / webapps / docs已在125 ms内完成
2016年5月26日上午4时18分27秒org.apache.catalina.startup.HostConfig deployDirectory
信息:部署Web应用程序目录/ usr /share/apache-tomee-webprofile-1.7.4/webapps/host-manager
2016年5月26日上午4点18分27秒org.apache.tomee.catalina.TomcatWebAppBuilder init
信息: - ----------------------- localhost - > / host-manager
org.apache.openejb.config.ConfigurationFactory configureApplication
INFO:配置企业应用程序:/usr/share/apache-tomee-webprofile-1.7 .4 / webapps / host-manager
org.apache.openejb.config.AppInfoBuilder build
INFO:Enterprise应用程序/ usr / share / apache-tomee- webprofile-1.7.4 / webapps / host-manager加载。
2016年5月26日上午4:18:27 org.apache.openejb.assembler.classic.Assembler createApplication
INFO:装配应用程序:/usr/share/apache-tomee-webprofile-1.7.4/ webapps / host-manager
org.apache.openejb.cdi.CdiBuilder initSingleton
INFO:SystemInstance()中的现有线程单例服务:org.apache.openejb。 cdi.ThreadSingletonServiceImpl@53743c4f
2016年5月26日上午4点18分27秒org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO:OpenWebBeans容器正在启动...
2016年5月26日上午4:18:27 org.apache.webbeans.plugins.PluginLoader startUp
INFO:添加OpenWebBeansPlugin:[CdiPlugin]
2016年5月26日上午4时18分27秒org.apache.webbeans.plugins。 PluginLoader startUp
INFO:添加OpenWebBeansPlugin:[OpenWebBeansJsfPlugin]
2016年5月26日上午4时18分27秒org.apache.webbeans.config.BeansDeployer validateInjectionPoints
信息:所有注入点均已验证成功。
2015年5月26日上午4点18分27秒org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO:OpenWebBeans容器已启动,耗时8毫秒。
2016年5月26日上午4点18分27秒org.apache.tomee.catalina.TomcatWebAppBuilder deployWebApps
INFO:使用上下文文件/usr/share/apache-tomee-webprofile-1.7.4/webapps/ host-manager / META-INF / context.xml
org.apache.openejb.assembler.classic.Assembler createApplication
INFO:Deployed Application(path = / usr /share/apache-tomee-webprofile-1.7.4/webapps/host-manager)
2016年5月26日上午4时18分27秒org.apache.catalina.startup.HostConfig deployDirectory
信息:部署web应用程序目录/usr/share/apache-tomee-webprofile-1.7.4/webapps/host-manager已在120毫秒内完成
2016年5月26日上午4时18分27秒org.apache.coyote.AbstractProtocol启动
INFO:启动ProtocolHandler [http-bio-8080]
2016年5月26日上午4点18分27秒org.apache.coyote.AbstractProtocol start
INFO:启动ProtocolHandler [ ajp-bio-8009]
2016年5月26日上午4:18:27 org.apache.catalina.startup.Catalina start
INFO:5129 ms

web.xml

 <?xml version =1.0encoding =UTF-8?> ; 
< web-app xmlns:xsi =http://www.w3.org/2001/XMLSchema-instancexmlns =http://java.sun.com/xml/ns/javaeexsi :schemaLocation =http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsdid =WebApp_IDversion =3.0 >
< display-name> PortaleClinica< / display-name>
< welcome-file-list>
< welcome-file> index.html< / welcome-file>
< / welcome-file-list>

< context-param>
< param-name> javax.faces.DEFAULT_SUFFIX< / param-name>
< / param-value> .xhtml< / param-value>
< / context-param>

<! - Facelets页面将使用.xhtml扩展名 - >

< servlet>
< servlet-name> Faces Servlet< / servlet-name>
< servlet-class> javax.faces.webapp.FacesServlet< / servlet-class>
1< / load-on-startup>
< / servlet>

< filter>
< filter-name> AuthFilter< / filter-name> <! - 强制 - >
< filter-class> it.uniroma3.servlet.AuthFilterServlet< / filter-class> <! - 强制 - >
< / filter>

< servlet-mapping>
< servlet-name> Faces Servlet< / servlet-name>
< url-pattern> *。html< / url-pattern>
< / servlet-mapping>

< filter-mapping>
< filter-name> AuthFilter< / filter-name>
< url-pattern> / amministrazione / *< / url-pattern>
< / filter-mapping>

< filter-mapping>
< filter-name> AuthFilter< / filter-name>
< url-pattern> / utente / *< / url-pattern>
< / filter-mapping>

< / web-app>

resources.xml

 <?xml version =1.0encoding =UTF-8?> 
<资源>
< Resource id =clinica-unit-dbtype =DataSource>
#PostgreSQL示例

#在下载驱动程序之前,此连接器不起作用:
#http://jdbc.postgresql.org/download.html
JdbcDriver org.postgresql.Driver
JdbcUrl jdbc:postgresql:// localhost / clinica
用户名postgres
密码postgres
< / Resource>
< /资源>

persistence.xml

 <?xml version =1.0encoding =UTF-8?> 
< persistence version =2.0
xmlns =http://java.sun.com/xml/ns/persistencexmlns: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 =clinica-unittransaction-type =JTA>
< provider> org.hibernate.ejb.HibernatePersistence< / provider>
< jta-data-source> clinica-unit-db< / jta-data-source>
< class> it.uniroma3.db.Medico< / class>
< class> it.uniroma3.db.Utente< / class>
< class> it.uniroma3.db.TipologiaEsame< / class>
< class> it.uniroma3.db.Esame< / class>
< / persistence-unit>
< /余辉>

faces-config.xml

 <?xml version =1.0encoding =UTF-8?> 

< faces-config xmlns =http://java.sun.com/xml/ns/javaee
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-facesconfig_2_1 .xsd
version =2.1>
< / faces-config>

这个Java EE真的让我很烦。

解决方案

谈到营销语言: TomEE 6 实现 JavaEE 6 规范。 JavaEE 6 表示 JPA 2.0 JPA 2.0 表示 @JoinColumn 没有 foreignKey 属性的注解。这个属性被添加到 JPA 2.1中。



说到人类语言:你有一个 jar 与旧的 javax.persistence.JoinColumn 类的类路径中。你的Hibernate版本需要一个新的 JPA 2.1 jar :类似于 hibernate-jpa-2.1-api-1.0.0.Final.jar



您已经拥有 jar ,但 TomEE 可以使用它自己的 JPA 2.0 jar 来覆盖它的一些类,例如: javaee-api-7.0.jar 与旧的 javax.persistence.JoinColumn 类。所以你需要找到并删除(或更新) jar ,或者,也许你可以调整 TomEE 来使用单独的类加载器(或从类路径中排除 JPA jar)。



要找到不正确的 jar 你可以在servlet的某处使用这段代码,或者使用 ContextListener

  URL url = Thread.currentThread()。getContextClassLoader()
.getResource(javax / persistence / JoinColumn.class);
System.out.println(url);

最简单的解决方法是不使用 TomeEE 。您可以使用 Tomcat Wild <

更新



@Kevgretor关于解决问题的注释
$ b


I followed your suggestion..but i found that tomcat dosen't support EJB so i had to go back to TomEE. I solved this problem by rearranging libraries inside tomee/lib and WEB-INF/lib (only hibernate-jpa-2.1-api-1.0.0.Final has to be inside tomee’s library). Another weird fact was that if i clone my working local tomee folder on my server didn’t worked (nullpointerexception for jsf initialization). I finally got it working by adding javax.faces-2.2.8.jar in WEB-INF/lib (tomee didn’t like it in his lib folder).



I was building my first webapp. I am using hibernate, postgresql, and tomee as container. I am using beans and faces. When i try to run my webapp on my tomee localhost everything works as expected. When i load it on my AWS (wich has the same version of tomee installed) i get this error. I'm stick since hours without getting at the solution. Here is my catalina.out

May 26, 2016 4:18:24 AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [
        name: clinica-unit
        ...]
May 26, 2016 4:18:24 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.1.0.Final}
May 26, 2016 4:18:24 AM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
May 26, 2016 4:18:24 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
May 26, 2016 4:18:24 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
May 26, 2016 4:18:25 AM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL94Dialect
May 26, 2016 4:18:25 AM org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl useContextualLobCreation
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
May 26, 2016 4:18:25 AM org.hibernate.type.BasicTypeRegistry register
INFO: HHH000270: Type registration [java.util.UUID] overrides previous : org.hibernate.type.UUIDBinaryType@66b53b0d
May 26, 2016 4:18:26 AM org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory createDelegate
INFO: PersistenceUnit(name=clinica-unit, provider=org.hibernate.ejb.HibernatePersistence) - provider time 1747ms
May 26, 2016 4:18:26 AM org.apache.openejb.assembler.classic.Assembler destroyApplication
INFO: Undeploying app: /usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica
May 26, 2016 4:18:26 AM org.apache.catalina.core.ContainerBase removeChild
SEVERE: ContainerBase.removeChild: destroy:
org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/PortaleClinica]] in state [STARTING_PREP]
        at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:401)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:291)
        at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:1038)
        at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1537)
        at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1518)
        at org.apache.tomee.catalina.TomcatWebAppBuilder.undeployWebApps(TomcatWebAppBuilder.java:762)
        at org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:1982)
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:839)
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:677)
        at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1261)
        at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1100)
        at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5472)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)
        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)

May 26, 2016 4:18:26 AM org.apache.openejb.assembler.classic.Assembler destroyResource
INFO: Closing DataSource: PortaleClinica/clinica-unit-db
May 26, 2016 4:18:26 AM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
SEVERE: The web application [/PortaleClinica] registered the JDBC driver [org.postgresql.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
May 26, 2016 4:18:26 AM org.apache.tomee.catalina.TomcatWebAppBuilder startInternal
SEVERE: Unable to deploy collapsed ear in war StandardEngine[Catalina].StandardHost[localhost].StandardContext[/PortaleClinica]
org.apache.openejb.OpenEJBException: Creating application failed: /usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:843)
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:677)
        at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1261)
        at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1100)
        at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5472)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)
        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: java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
        at org.hibernate.cfg.AnnotationBinder.bindManyToOne(AnnotationBinder.java:2898)
        at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1742)
        at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:906)
        at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:733)
        at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245)
        at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222)
        at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:848)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:876)
        at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:135)
        at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:50)
        at org.apache.openejb.assembler.classic.EntityManagerFactoryCallable.call(EntityManagerFactoryCallable.java:64)
        at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate(ReloadableEntityManagerFactory.java:116)
        at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.<init>(ReloadableEntityManagerFactory.java:102)
        at org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:154)
        at org.apache.openejb.assembler.classic.Assembler.loadPersistenceUnits(Assembler.java:982)
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:741)
        ... 18 more

May 26, 2016 4:18:26 AM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/PortaleClinica]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)
        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: org.apache.tomee.catalina.TomEERuntimeException: org.apache.openejb.OpenEJBException: Creating application failed: /usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
        at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1270)
        at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1100)
        at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5472)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        ... 10 more
Caused by: org.apache.openejb.OpenEJBException: Creating application failed: /usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:843)
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:677)
        at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1261)
        ... 16 more
Caused by: java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
        at org.hibernate.cfg.AnnotationBinder.bindManyToOne(AnnotationBinder.java:2898)
        at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1742)
        at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:906)
        at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:733)
        at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245)
        at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222)
        at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:848)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:876)
        at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:135)
        at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:50)
        at org.apache.openejb.assembler.classic.EntityManagerFactoryCallable.call(EntityManagerFactoryCallable.java:64)
        at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate(ReloadableEntityManagerFactory.java:116)
        at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.<init>(ReloadableEntityManagerFactory.java:102)
        at org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:154)
        at org.apache.openejb.assembler.classic.Assembler.loadPersistenceUnits(Assembler.java:982)
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:741)
        ... 18 more

May 26, 2016 4:18:26 AM org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive /usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/PortaleClinica]]
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:903)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)
        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)

May 26, 2016 4:18:26 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /usr/share/apache-tomee-webprofile-1.7.4/webapps/PortaleClinica.war has finished in 3,950 ms
May 26, 2016 4:18:26 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/share/apache-tomee-webprofile-1.7.4/webapps/manager
May 26, 2016 4:18:26 AM org.apache.tomee.catalina.TomcatWebAppBuilder init
INFO: ------------------------- localhost -> /manager
May 26, 2016 4:18:26 AM org.apache.openejb.config.ConfigurationFactory configureApplication
INFO: Configuring enterprise application: /usr/share/apache-tomee-webprofile-1.7.4/webapps/manager
May 26, 2016 4:18:26 AM org.apache.openejb.config.AppInfoBuilder build
INFO: Enterprise application "/usr/share/apache-tomee-webprofile-1.7.4/webapps/manager" loaded.
May 26, 2016 4:18:26 AM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Assembling app: /usr/share/apache-tomee-webprofile-1.7.4/webapps/manager
May 26, 2016 4:18:26 AM org.apache.openejb.cdi.CdiBuilder initSingleton
INFO: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@53743c4f
May 26, 2016 4:18:26 AM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container is starting...
May 26, 2016 4:18:26 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
May 26, 2016 4:18:26 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
May 26, 2016 4:18:26 AM org.apache.webbeans.config.BeansDeployer validateInjectionPoints
INFO: All injection points were validated successfully.
May 26, 2016 4:18:26 AM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container has started, it took 127 ms.
May 26, 2016 4:18:26 AM org.apache.tomee.catalina.TomcatWebAppBuilder deployWebApps
INFO: using context file /usr/share/apache-tomee-webprofile-1.7.4/webapps/manager/META-INF/context.xml
May 26, 2016 4:18:26 AM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Deployed Application(path=/usr/share/apache-tomee-webprofile-1.7.4/webapps/manager)
May 26, 2016 4:18:27 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /usr/share/apache-tomee-webprofile-1.7.4/webapps/manager has finished in 706 ms
May 26, 2016 4:18:27 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/share/apache-tomee-webprofile-1.7.4/webapps/ROOT
May 26, 2016 4:18:27 AM org.apache.tomee.catalina.TomcatWebAppBuilder init
INFO: ------------------------- localhost -> /
May 26, 2016 4:18:27 AM org.apache.openejb.config.ConfigurationFactory configureApplication
INFO: Configuring enterprise application: /usr/share/apache-tomee-webprofile-1.7.4/webapps/ROOT
May 26, 2016 4:18:27 AM org.apache.openejb.config.AppInfoBuilder build
INFO: Enterprise application "/usr/share/apache-tomee-webprofile-1.7.4/webapps/ROOT" loaded.
May 26, 2016 4:18:27 AM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Assembling app: /usr/share/apache-tomee-webprofile-1.7.4/webapps/ROOT
May 26, 2016 4:18:27 AM org.apache.openejb.cdi.CdiBuilder initSingleton
INFO: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@53743c4f
May 26, 2016 4:18:27 AM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container is starting...
May 26, 2016 4:18:27 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
May 26, 2016 4:18:27 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
May 26, 2016 4:18:27 AM org.apache.webbeans.config.BeansDeployer validateInjectionPoints
INFO: All injection points were validated successfully.
May 26, 2016 4:18:27 AM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container has started, it took 12 ms.
May 26, 2016 4:18:27 AM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Deployed Application(path=/usr/share/apache-tomee-webprofile-1.7.4/webapps/ROOT)
May 26, 2016 4:18:27 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /usr/share/apache-tomee-webprofile-1.7.4/webapps/ROOT has finished in 127 ms
May 26, 2016 4:18:27 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/share/apache-tomee-webprofile-1.7.4/webapps/docs
May 26, 2016 4:18:27 AM org.apache.tomee.catalina.TomcatWebAppBuilder init
INFO: ------------------------- localhost -> /docs
May 26, 2016 4:18:27 AM org.apache.openejb.config.ConfigurationFactory configureApplication
INFO: Configuring enterprise application: /usr/share/apache-tomee-webprofile-1.7.4/webapps/docs
May 26, 2016 4:18:27 AM org.apache.openejb.config.AppInfoBuilder build
INFO: Enterprise application "/usr/share/apache-tomee-webprofile-1.7.4/webapps/docs" loaded.
May 26, 2016 4:18:27 AM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Assembling app: /usr/share/apache-tomee-webprofile-1.7.4/webapps/docs
May 26, 2016 4:18:27 AM org.apache.openejb.cdi.CdiBuilder initSingleton
INFO: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@53743c4f
May 26, 2016 4:18:27 AM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container is starting...
May 26, 2016 4:18:27 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
May 26, 2016 4:18:27 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
May 26, 2016 4:18:27 AM org.apache.webbeans.config.BeansDeployer validateInjectionPoints
INFO: All injection points were validated successfully.
May 26, 2016 4:18:27 AM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container has started, it took 7 ms.
May 26, 2016 4:18:27 AM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Deployed Application(path=/usr/share/apache-tomee-webprofile-1.7.4/webapps/docs)
May 26, 2016 4:18:27 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /usr/share/apache-tomee-webprofile-1.7.4/webapps/docs has finished in 125 ms
May 26, 2016 4:18:27 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/share/apache-tomee-webprofile-1.7.4/webapps/host-manager
May 26, 2016 4:18:27 AM org.apache.tomee.catalina.TomcatWebAppBuilder init
INFO: ------------------------- localhost -> /host-manager
May 26, 2016 4:18:27 AM org.apache.openejb.config.ConfigurationFactory configureApplication
INFO: Configuring enterprise application: /usr/share/apache-tomee-webprofile-1.7.4/webapps/host-manager
May 26, 2016 4:18:27 AM org.apache.openejb.config.AppInfoBuilder build
INFO: Enterprise application "/usr/share/apache-tomee-webprofile-1.7.4/webapps/host-manager" loaded.
May 26, 2016 4:18:27 AM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Assembling app: /usr/share/apache-tomee-webprofile-1.7.4/webapps/host-manager
May 26, 2016 4:18:27 AM org.apache.openejb.cdi.CdiBuilder initSingleton
INFO: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@53743c4f
May 26, 2016 4:18:27 AM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container is starting...
May 26, 2016 4:18:27 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
May 26, 2016 4:18:27 AM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
May 26, 2016 4:18:27 AM org.apache.webbeans.config.BeansDeployer validateInjectionPoints
INFO: All injection points were validated successfully.
May 26, 2016 4:18:27 AM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container has started, it took 8 ms.
May 26, 2016 4:18:27 AM org.apache.tomee.catalina.TomcatWebAppBuilder deployWebApps
INFO: using context file /usr/share/apache-tomee-webprofile-1.7.4/webapps/host-manager/META-INF/context.xml
May 26, 2016 4:18:27 AM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Deployed Application(path=/usr/share/apache-tomee-webprofile-1.7.4/webapps/host-manager)
May 26, 2016 4:18:27 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /usr/share/apache-tomee-webprofile-1.7.4/webapps/host-manager has finished in 120 ms
May 26, 2016 4:18:27 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
May 26, 2016 4:18:27 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
May 26, 2016 4:18:27 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5129 ms

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>PortaleClinica</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

  <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
  </context-param>

  <!-- Facelets pages will use the .xhtml extension -->

  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

   <filter>
    <filter-name>AuthFilter</filter-name> <!-- mandatory -->
    <filter-class>it.uniroma3.servlet.AuthFilterServlet</filter-class> <!-- mandatory -->
  </filter>

  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>

   <filter-mapping>
        <filter-name>AuthFilter</filter-name>
        <url-pattern>/amministrazione/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>AuthFilter</filter-name>
        <url-pattern>/utente/*</url-pattern>
    </filter-mapping>

</web-app>

resources.xml

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <Resource id="clinica-unit-db" type="DataSource">
        #  PostgreSQL example
        #
        #  This connector will not work until you download the driver at:
        #  http://jdbc.postgresql.org/download.html
        JdbcDriver   org.postgresql.Driver
        JdbcUrl  jdbc:postgresql://localhost/clinica
        UserName     postgres
        Password     postgres
    </Resource>
</resources>

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="clinica-unit" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>clinica-unit-db</jta-data-source>
        <class>it.uniroma3.db.Medico</class>
        <class>it.uniroma3.db.Utente</class>
        <class>it.uniroma3.db.TipologiaEsame</class>
        <class>it.uniroma3.db.Esame</class>
    </persistence-unit>
</persistence>

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
    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-facesconfig_2_1.xsd"
    version="2.1">
</faces-config>

This Java EE is really annoying me.

解决方案

Speaking on the marketing language: TomEE 6 implements JavaEE 6 specification. JavaEE 6 means JPA 2.0. JPA 2.0 means @JoinColumn annotation without foreignKey property. This property was added in JPA 2.1.

Speaking on the human language: you have a jar in the class path with an old javax.persistence.JoinColumn class. Your version of Hibernate needs a new JPA 2.1 jar: something like hibernate-jpa-2.1-api-1.0.0.Final.jar.

You can already has this jar, but TomEE can override some classes from it, using its own JPA 2.0 jar, for an example: javaee-api-7.0.jar with an old javax.persistence.JoinColumn class. So you need to find and delete (or update) that jar, or, maybe, you can tweak TomEE to use separate classloaders (or exclude JPA jars from the class path).

To find incorrect jar you can use this code, somewhere in the servlet, or using ContextListener.

URL url = Thread.currentThread().getContextClassLoader()
    .getResource("javax/persistence/JoinColumn.class");
System.out.println(url);

The simplest workaround is not using TomeEE. You can useTomcat or Wildfly.

Update

@Kevgretor comment about fixing the problem

I followed your suggestion..but i found that tomcat dosen't support EJB so i had to go back to TomEE. I solved this problem by rearranging libraries inside tomee/lib and WEB-INF/lib (only hibernate-jpa-2.1-api-1.0.0.Final has to be inside tomee's library). Another weird fact was that if i clone my working local tomee folder on my server didn't worked (nullpointerexception for jsf initialization). I finally got it working by adding javax.faces-2.2.8.jar in WEB-INF/lib (tomee didn't like it in his lib folder).

这篇关于Tomee错误:javax.persistence.JoinColumn.foreignKey()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆