简体   繁体   English

JavaEE - TomEE (Tomcat v9.0) - 尝试了无效的生命周期转换 ([before_destroy])

[英]JavaEE - TomEE (Tomcat v9.0) - An invalid Lifecycle transition was attempted ([before_destroy])

I'm kind of new to JavaEE and I'm just totally lost on this issue.我是 JavaEE 的新手,我完全迷失在这个问题上。 I tried running my project on the TomEE Plume 8.0.0 server, but I simply cannot get it to work.我尝试在 TomEE Plume 8.0.0 服务器上运行我的项目,但我根本无法让它工作。 I tried a lot of various stuff, mostly searched around everywhere, but I'm still confused as to what is causing this issue.我尝试了很多各种各样的东西,主要是到处搜索,但我仍然对导致这个问题的原因感到困惑。 This is the severe error I keep getting:这是我不断收到的严重错误:

Dec 07, 2018 5:23:53 PM jdk.internal.reflect.NativeMethodAccessorImpl invoke
SEVERE: ContainerBase.removeChild: destroy: 
org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/MusicRecordingStudio]] in state [STARTING_PREP]
    at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:431)
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:317)
    at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:845)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1654)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1634)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeployWebApps(TomcatWebAppBuilder.java:769)
    at org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:2414)
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:1096)
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:761)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1308)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1130)
    at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5007)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:682)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)

It's followed by a bunch of errors about not being able to deploy my sessionBeans, and then just tells me that it cannot run.接下来是一堆关于无法部署我的 sessionBeans 的错误,然后只是告诉我它无法运行。

What's the best way to figure out where the problem is, please?请找出问题所在的最佳方法是什么?

I'm using the newest Eclipse EE (20180917-1800), running Linux Mint 19 Tara, with java-11-openjdk-amd64 linked to the project.我正在使用最新的 Eclipse EE (20180917-1800),运行 Linux Mint 19 Tara,java-11-openjdk-amd64 链接到项目。

Edit: Alright, I tried out various version of OpenJDK, even the newest JRE, but I'm still coming up empty on this issue.编辑:好的,我尝试了各种版本的 OpenJDK,甚至是最新的 JRE,但我仍然对这个问题一无所知。 Any help would be greatly appreciated.任何帮助将不胜感激。

I know this is an old question, but I found it by searching Google regarding the same problem.我知道这是一个老问题,但我通过搜索谷歌发现了同样的问题。

I fixed the problem simply by making sure my database was running before I started TomEE.我通过在启动 TomEE 之前确保我的数据库正在运行来解决这个问题。 Without a running database, JPA can't work.如果没有正在运行的数据库,JPA 就无法工作。

I got the same trouble.我遇到了同样的麻烦。 Fix by adding JPA facet to my project.通过将 JPA facet 添加到我的项目来修复。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM