簡體   English   中英

TomEE JPA MySql配置“嘗試了無效的生命周期轉換”

[英]TomEE JPA MySql Configuration “An invalid Lifecycle transition was attempted”

我是Java EE的新手,花了一些時間來學習它。 針對此錯誤的幾個小時,找不到完全相同的問題,在同一個udemy課程中讓一名學生接受了udemy問答,但老師無法幫助該學生。

本教程在MySQL上使用TomEE和JPA教授持久性。

我正在使用Eclipse: Web開發人員的Eclipse Java EE IDE。 版本:2018-09(4.9.0)

TomEE版本: Tomcat v9.0 Server

使用JRE的TomEE: jdk-12.0.1

項目Java構建路徑->模塊路徑->執行環境: JavaSE-10(jdk-12.0.1)

Java編譯器:使用執行環境JavaSE-10的合規性

lib TomEE文件夾中的實際MySql Connector(嘗試了幾次): mysql-connector-java-8.0.17.jar

這是我的tomee.xml

<tomee>
    <Resource id="connessioneCorsoWeb" type="DataSource">
        JdbcDriver          com.mysql.jdbc.Driver
        JdbcUrl             jdbc:Mysql://127.0.0.1:3306/corso_java_web?useUnicode=true&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=UTC
        UserName            root
        Password            admin
    </Resource>
</tomee>

這是persistence.xml

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="1.0">
    <persistence-unit name="corsoWebPersistence">
        <jta-data-source>connessioneCorsoWeb</jta-data-source>
        <properties>
            <property name="openejb.jpa.auto-scan" value="true"/>
        </properties>
    </persistence-unit>
</persistence>

啟動應用程序時的控制台消息對我沒有幫助

信息:取消部署應用程序:D:\\ Shared \\ Studio \\ Java EE開發人員-La guida completa \\ apache-tomee-8.0.0-M3-plume \\ apache-tomee-plume-8.0.0-M3 \\ webapps \\ corso-web 8月16,2019 12:11:31 PM jdk.internal.reflect.NativeMethodAccessorImpl調用SEVERE:銷毀子org.apache.catalina.LifecycleException錯誤:嘗試對組件[StandardEngine [Catalina] .StandardHost進行無效的生命周期轉換([before_destroy])處於[STARTING_PREP]狀態的[localhost] .StandardContext [/ corso-web]]位於org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase)的org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:430) .java:316),位於org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:814)...

我可以看得更深入些嗎?

編輯:

刪除服務器啟動的persistence.xml。

僅使用以下行添加persistence.xml:

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="1.0">
</persistence>

服務器啟動。

正好這樣修改persistence.xml:

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="1.0">
    <persistence-unit>
    </persistence-unit>
</persistence>

服務器失敗。

這是當前控制台的更詳盡的摘錄:

... Aug 18,2019 3:21:18 PM org.apache.tomee.catalina.TomcatWebAppBuilder startInternal SEVERE:無法在戰爭中部署塌陷的耳朵StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ corso-web] java org.apache.openejb.util.LinkResolver.resolve(LinkResolver.java:55)處的.lang.NullPointerException org.apache.openejb.util.LinkResolver.add(LinkResolver.java:37)處的org.apache.openejb.util org.apache.openejb.config.AutoConfig.resolvePersistenceRefs(AutoConfig.java:223)位於org.apache.openejb.config.AutoConfig.deploy(AutoConfig.java:197)位於.LinkResolver.add(LinkResolver.java:33) org.apache.tome.catalina.TomcatWebAppBuilder上的org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1033)上的org.apache.openejb.config.ConfigurationFactory $ Chain.deploy(ConfigurationFactory.java:420)。 org.apache.tomee.catalina上的startInternal(TomcatWebAppBuilder.java:1286).org.apache.tome上的TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1130) org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)的e.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:134)org.apache.catalina.core.StandardContext.startInternal(StandardContext.java: 5048)在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1377)在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1377)在org.apache.catalina.core org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService)上的java.base / java.util.concurrent.FutureTask.run(FutureTask.java:264)上的.ContainerBase $ StartChild.call(ContainerBase.java:1367) .java:75),位於org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902),位於org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902),位於java.base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)。在org.apache的catalina.core.StandardHost.startInternal(StandardHost.java:841)在org.apache.cata的catalina.util.LifecycleBase.start(LifecycleBase.java:183) 位於org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1367)的lina.core.ContainerBase $ StartChild.call(ContainerBase.java:1377)在java.base / java.util.concurrent.FutureTask中。在org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)處運行(FutureTask.java:264)在java.base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)處運行在org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)在org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:183)在org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)在org.apache。位於org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)的catalina.core.StandardServer.startInternal(StandardServer.java:932)位於org.apache.catalina.startup.Catalina.star Java的java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke中的t(Catalina.java:633)java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)中的t(Catalina.java:633)在org.apache.catalina.startup.Bootstrap的java.base / java.lang.reflect.Method.invoke(Method.java:567)的base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)。在org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)處啟動(Bootstrap.java:344)

2019年8月18日,下午3:21:18 jdk.internal.reflect.NativeMethodAccessorImpl調用SEVERE:銷毀子org.apache.catalina.LifecycleException錯誤:嘗試對組件[StandardEngine [Catalina]進行無效的生命周期轉換([before_destroy])。處於org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:430)處於[STARTING_PREP]狀態的org.apache.catalina.util.LifecycleBase.destroy的StandardHost [localhost] .StandardContext [/ corso-web]]位於org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:814)的LifecycleBase.java:316)位於org.apache.tomee的org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1656) org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1317)上的.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1636)位於org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1130) ),網址為org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent( 在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5048)在org.apache.catalina的GlobalListenerSupport.java:134) org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1377)的.util.LifecycleBase.start(LifecycleBase.java:183)在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase .java:1367),位於org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75),位於java.base / java.util.concurrent.FutureTask.run(FutureTask.java:264)。 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)處的base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)(org.apache.catalina.core.StandardHost.startInternal( org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)的org.apache.catalina.core.ContainerBase $ StartChild.call(Containe)的StandardHost.java:841) org的org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1367)的rBase.java:1377)org的java.base / java.util.concurrent.FutureTask.run(FutureTask.java:264)的rBase.java:1377) org.apache.catalina.core.ContainerBase上的.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)在java.base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)(位於org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)處的.startInternal(ContainerBase.java:902)。位於org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)的apache.catalina.core.StandardService.startInternal(StandardService.java:421)位於org.apache.catalina.core.StandardServer.startInternal(StandardServer。 java:932)位於org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)位於org.apache.catalina.startup.Catalina.start(Catalina.java:633)位於java.base / jdk.internal .r java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)上的eflect.NativeMethodAccessorImpl.invoke0(本機方法)java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) )的org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)的java.base / java.lang.reflect.Method.invoke(Method.java:567)。 Bootstrap.main(Bootstrap.java:475)

2019年8月18日3:21:18 PM jdk.internal.reflect.NativeMethodAccessorImpl調用SEVERE:子容器在啟動期間失敗java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:無法啟動組件[StandardEngine [Catalina ] .StandardHost [localhost] .StandardContext [/ corso-web]],位於java.base / java.util.concurrent.FutureTask.report(FutureTask.java:122),位於java.base / java.util.concurrent.FutureTask.get (FutureTask.java:191)在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)在org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)在org.apache。位於org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1377)的catalina.util.LifecycleBase.start(LifecycleBase.java:183)在org.apache.catalina.core.ContainerBase $ StartChild.call(位於org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorServ)的java.base / java.util.concurrent.FutureTask.run(FutureTask.java:264)的ContainerBase.java:1367) 在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)的java.base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)的ice.java:75) org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)的.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)org.apache.catalina.core.StandardService.startInternal(StandardService.java) :421)位於org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183),位於org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:932),位於org.apache.catalina.util。 org.apache.catalina.startup.Catalina.start(Catalina.java:633)處的LifecycleBase.start(LifecycleBase.java:183)在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本機方法)處在Java。 base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)在java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp l.java:43),位於org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344),位於java.base / java.lang.reflect.Method.invoke(Method.java:567),位於org.apache .catalina.startup.Bootstrap.main(Bootstrap.java:475)原因:org.apache.catalina.LifecycleException:無法在以下位置啟動組件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ corso-web]] org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)上的org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)在org.apache.catalina.core.ContainerBase $ StartChild上。在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1367)處調用(ContainerBase.java:1377)在java.base / java.util.concurrent.FutureTask.run(FutureTask.java:264)處在org.apache.catalina.core上的org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)處在java.base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) .ContainerBase.star tInternal(ContainerBase.java:902)...還有21個原因:org.apache.tomee.catalina.TomEERuntimeException:org.apache.tomee.catalina.TomcatWebAppBuildBuilder.startInternal上的java.lang.NullPointerException(TomcatWebAppBuilder.java:1320)在org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1130)在org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:134)在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent (org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5048)(org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)的(LifecycleBase.java:123)... 27更多引起原因:org.apache.openejb.util.LinkResolver.add(LinkResolver.java:37)處org.apache.openejb.util.LinkResolver.resolve(LinkResolver.java:55)處的java.lang.NullPointerException org.apache.openejb.config.AutoConfig.resolvePersistenceRefs(AutoConfig.java)上的.openejb.util.LinkResolver.add(LinkResolver.java:33) :223),位於org.apache.openejb.config.AutoConfig.deploy(AutoConfig.java:197),位於org.apache.openejb.config.ConfigurationFactory $ Chain.deploy(ConfigurationFactory.java:420),位於org.apache.openejb。 org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1286)的config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1033)... 32更多

2019年8月18日3:21:18 PM jdk.internal.reflect.NativeMethodAccessorImpl調用SEVERE:子容器在啟動java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:子容器失敗org.apache.catalina.core.ContainerBase上的java.base / java.util.concurrent.FutureTask.get(FutureTask.java:191)上的.base / java.util.concurrent.FutureTask.report(FutureTask.java:122) org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)(位於org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)處的.startInternal(ContainerBase.java:909)。位於org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)的apache.catalina.core.StandardService.startInternal(StandardService.java:421)位於org.apache.catalina.core.StandardServer.startInternal(StandardServer。 java:932)在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)在org.apache.catalina.startup.Catalina.start(Catalina.java:633)在jav java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)上的a.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)處的java.base / java.lang.reflect.Method.invoke(Method.java:567)處的.invoke(DelegatingMethodAccessorImpl.java:43) org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)原因:org.apache.catalina.LifecycleException:子容器在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase。 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)處的org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)處的org.apache.catalina.core org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1367)的.ContainerBase $ StartChild.call(ContainerBase.java:1377)在java.base / java.util.concurrent.Fu org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)上的tureTask.run(FutureTask.java:264)在java.base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java: 140)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)...另有13個原因:java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:無法啟動組件[位於java.base / java.util.concurrent.FutureTask.report的StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ corso-web]],位於java.base / java.util.concurrent的(FutureTask.java:122)。 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)的FutureTask.get(FutureTask.java:191)... 21更多原因:org.apache.catalina.LifecycleException:無法啟動組件[位於org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)的StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ corso-web]] 位於org.apache.catalina.core.ContainerBase $的org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)位於org.apache.catalina.core.ContainerBase $的StartChild.call(ContainerBase.java:1377) org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java)上的java.base / java.util.concurrent.FutureTask.run(FutureTask.java:264)上的StartChild.call(ContainerBase.java:1367): 75)在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)處在java.base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)... 21以上原因: org.apache.tomee.catalina.TomEERuntimeException:org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1320)處的java.lang.NullPointerException org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java :1130),位於org.apache.catalina.util.Li,位於org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:134) org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5048)處的fecycleBase.fireLifecycleEvent(LifecycleBase.java:123).org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)。 。27更多原因:org.apache.openejb.util.LinkResolver.add(LinkResolver.java:37)處org.apache.openejb.util.LinkResolver.resolve(LinkResolver.java:55)處的java.lang.NullPointerException位於org.apache.openejb.config.AutoConfig.resolvePersistenceRefs(AutoConfig.java:223)的org.apache.openejb.util.LinkResolver.add(LinkResolver.java:33)(位於org.apache.openejb.config.AutoConfig.deploy(位於org.apache.openejb.config.ConfigurationFactory的AutoConfig.java:197)位於org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1033)的org.apache.openejb.config.ConfigurationFactory $ Chain.deploy(ConfigurationFactory.java:420) .tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1286)...另外32個

2019年8月18日,下午3:21:18 jdk.internal.reflect.NativeMethodAccessorImpl調用SEVERE:所需的服務器組件無法啟動,因此Tomcat無法啟動。 org.apache.catalina.LifecycleException:子容器在org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java :)的org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:921)處啟動時失敗。 262),位於org.apache.catalina.core.StandardService.startInternal(StandardService.java:421),位於org.apache.catalina.core.Standard(org.apache.catalina.util.LifecycleBase)在org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:932)在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)處的.start(LifecycleBase.java:183)。位於java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)的apache.catalina.startup(Catalina.java:633)位於java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。 .java:62),位於java.base / java.lang處的java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)。 在org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)處反射.Method.invoke(Method.java:567)在org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)處引起原因:java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:子容器在java.base的java.base / java.util.concurrent.FutureTask.report(FutureTask.java:122)啟動期間失敗org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)處的/java.util.concurrent.FutureTask.get(FutureTask.java:191)... 13個以上原因:org.apache.catalina。 LifecycleException:子容器在org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)的org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)的org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:921)啟動期間失敗org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1377)的.catalina.util.LifecycleBase.start(LifecycleBase.java:183)在org.apache.catalina.core.ContainerBase $ StartChild.call (騙局 tainerBase.java:1367),位於java.base / java.util.concurrent.FutureTask.run(FutureTask.java:264),位於org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)處的.base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)... 13更多原因:java.util。 parallel.ExecutionException:org.apache.catalina.LifecycleException:無法在java.base / java.util.concurrent.FutureTask.report中啟動組件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ corso-web]] org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)處的java.base / java.util.concurrent.FutureTask.get(FutureTask.java:191)處的FutureTask.java:122)... 21更多原因:org.apache.catalina.LifecycleException:無法在org.apache.catalina.util.Lifecy上啟動組件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ corso-web]] org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)的cleBase.handleSubClassException(LifecycleBase.java:440)在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1377)在org.apache.tomcat.util上的org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1367)在java.base / java.util.concurrent.FutureTask.run(FutureTask.java:264) org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java)上的java.base / java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)上的.threads.InlineExecutorService.execute(InlineExecutorService.java:75) :902)...另外21個原因由:org.apache處的org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1320)處的org.apache.tomee.catalina.TomEERuntimeException:java.lang.NullPointerException引起。 tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1130)位於org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(Glob org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)位於org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5048)位於org.apache.catalina .util.LifecycleBase.start(LifecycleBase.java:183)... 27更多原因:org.apache中的org.apache.openejb.util.LinkResolver.resolve(LinkResolver.java:55)中的java.lang.NullPointerException。 org.apache.openejb.util.LinkResolver.add(LinkResolver.java:33)處的openejb.util.LinkResolver.add(LinkResolver.java:37)org.apache.openejb.config.AutoConfig.resolvePersistenceRefs(AutoConfig.java: 223)在org.apache.openejb.config.ConfigurationFactory $ Chain.deploy(ConfigurationFactory.java:420)在org.apache.openejb.config.ConfigurationFactory $ org.apache.openejb.config.ConfigurationFactory org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1286)的.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1033)... 32更多

2019年8月18日下午3:21:18 jdk.internal.reflect.DelegatingMethodAccessorImpl調用INFO:暫停ProtocolHandler [“ http-nio-8080”]八月18,2019 3:21:18 PM jdk.internal.reflect.DelegatingMethodAccessorImpl調用INFO :暫停ProtocolHandler [“ ajp-nio-8009”] 2019年8月18日,下午3:21:18 jdk.internal.reflect.DelegatingMethodAccessorImpl調用信息:停止服務[Catalina] 2019年8月18日,下午3:21:18 org.apache .openejb.server.SimpleServiceManager停止INFO:停止服務器服務Aug 18,2019 3:21:18 PM org.apache.openejb.assembler.classic.Assembler destroyApplication INFO:取消部署應用程序:D:\\ Shared \\ Studio \\ Java EE開發人員- La guida completa \\ apache-tomee-8.0.0-M3-plume \\ apache-tomee-plume-8.0.0-M3 \\ webapps \\ ROOT 2019年8月18日下午org.apache.openejb.assembler.classic .Assembler doResourceDestruction INFO:關閉數據源:connessioneCorsoWeb 2019年8月18日PM jdk.internal.reflect.DelegatingMethodAccessorImpl invoke INFO:Destroying ProtocolHandler [“ http-nio-8080”] 2019年8月18日 下午3:21:18 jdk.internal.reflect.DelegatingMethodAccessorImpl調用INFO:銷毀ProtocolHandler [“ ajp-nio-8009”]

任何單一的想法將不勝感激。

嘗試以下方法:

<?xml version="1.0" encoding="UTF-8"?>
<persistence
    xmlns="http://xmlns.jcp.org/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
    version="2.1">
    <persistence-unit name="corsoWebPersistence">
        <jta-data-source>connessioneCorsoWeb</jta-data-source>
        <properties>
            <property
                name="openejb.jpa.auto-scan"
                value="true" />
        </properties>
    </persistence-unit>
</persistence>

最后,我很清楚地解決了:在Udemy課程中,使用的是Tomcat v8.0 Server(apache-tomee-7.0.4),而不是我使用的是Tomcat v9.0 Server(apache-tomee-8.0.0-M3-plume)

現在不必使用舊版本,但是對於tomee-8.0.0,則需要在Project Facets中(在檢查JPA屏幕警報以對其進行配置時)或JPA項目屬性中設置JPA。

我已經測試了兩個tomee版本,現在都可以使用。

這是我的Tomcat v9.0 Server(apache-tomee-8.0.0-M3-plume)中JPA配置的屏幕

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM