繁体   English   中英

Spring 引导应用程序未在 TomEE Plus 上运行

[英]Spring Boot application not running on TomEE Plus

我有一个 spring 引导应用程序,我正在尝试将它部署到 TomEE Plus 服务器上。 该应用程序与嵌入式 Tomcat 服务器和 Tomcat 9.0.43 设置完美配合。 我将部署文件复制到 TomEE webapps 文件夹中,启动服务器,然后……什么都没有。

我没有看到通常的 Spring 引导启动标志,而 TOMEE 似乎只是跳过了 spring 引导应用程序。 相反,我收到以下错误(为清楚起见而缩短):

java.lang.IllegalStateException: Error starting child
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:706)
     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1133)
...
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/MyApp]]
     at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
     ... 37 more
Caused by: java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TryCatchFinally
     at java.lang.ClassLoader.defineClass1(Native Method)
     at java.lang.ClassLoader.defineClass(Unknown Source)
     at java.security.SecureClassLoader.defineClass(Unknown Source)
...
Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.tagext.TryCatchFinally
     at java.net.URLClassLoader.findClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
     ... 73 more

My Tomcat configuration is as follows: Apache Tomcat (TomEE)/9.0.39 (8.0.5) running on Windows 10 with JVM 1.8.0_281-b09 from Oracle

事实证明它在 Tomcat 中不起作用,它仅在嵌入式服务器中起作用。

我在 Servlet Initializer 中缺少配置方法

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(Application.class);
  }
}

暂无
暂无

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

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