当前位置: 首页 > 知识库问答 >
问题:

Tomcat-启动时子容器失败-将maven转换为gradle后

顾梓
2023-03-14

我将项目从maven转换为gradle
在启动tomcat服务器时进行转换后,我将获得以下错误日志。

Catalina启动严重:必需的服务器组件启动失败,因此Tomcat无法启动。org.apache.Catalina.LifeCycleException:无法启动组件[StandardServer[8005]](位于org.apache.Catalina.util.LifeCycleBase.start(LifeCycleBase.153)(位于org.apache.Catalina.Startup.Catalina.start(Catalina.java:693)(位于sun.reflect.nativeMethodAccessorImpl.Invoke0(原生方法)(位于.apache.Catalina.LifeCycleException:无法在org.apache.Catalina.util.LifeCycleBase.start(LifeCycleBase.java:153)在org.apache.Catalina.core.StandardService.StartInterral(StandardService.java:444)在org.apache.Catalina.util.LifeCycleBase.start(LifeCycleBase.147)启动组件[StandardEngine[Catalina]]...9其他原因:

这些是我的依靠

apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'war'

war {
    baseName = 'MyApp'
    version = '0.0.1'
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'lib')
    compile project(':Model_v102')

    compile("org.springframework:spring-core:3.1.0.RELEASE")
    compile("org.springframework:spring-context-support:3.1.0.RELEASE")
    compile("org.springframework:spring-beans:3.1.0.RELEASE")
    compile("org.springframework:spring-context:3.1.0.RELEASE")
    compile("org.springframework:spring-tx:3.1.0.RELEASE")
    compile("org.springframework:spring-jdbc:3.1.0.RELEASE")
    compile("org.springframework:spring-orm:3.1.0.RELEASE")
    compile("org.springframework:spring-web:3.1.0.RELEASE")
    compile("org.springframework:spring-jms:3.1.0.RELEASE")
    compile("dom4j:dom4j:1.1")
    compile("cglib:cglib:2.1_3")
    compile("com.google.code.gson:gson:1.7.1")
    compile("org.projectlombok:lombok:1.12.4")
    compile("org.apache.commons:commons-io:1.3.2")
    compile("commons-fileupload:commons-fileupload:1.2.2")
    compile('commons-codec:commons-codec:1.7')
    compile("org.jasypt:jasypt:1.7.1")
    compile("net.sf.ehcache:ehcache-core:2.5.2")
    compile("commons-lang:commons-lang:2.6")
    compile("org.slf4j:slf4j-api:1.6.1")
    compile("javassist:javassist:3.12.0.GA")
    compile("com.sun.faces:jsf-api:2.1.7")
    compile("com.sun.faces:jsf-impl:2.1.7")
    compile("javax:javaee-api:6.0")
    compile("org.hibernate:hibernate-validator:4.3.0.Final")
    compile("org.hibernate:hibernate-core:3.5.1-Final")
    compile("org.hibernate:hibernate-annotations:3.5.1-Final")
    compile("mysql:mysql-connector-java:5.1.15")
    compile("org.primefaces:primefaces:3.5")
    compile("joda-time:joda-time:2.1")
    compile("c3p0:c3p0:0.9.1.1")
    //compile("javax.servlet:jstl:1.2")
    compile("com.caucho:resin-hessian:4.0.1")
    compile("org.apache.poi:poi:3.7")
    compile("com.itextpdf:itextpdf:5.0.6")
    compile("net.sf.jasperreports:jasperreports:6.1.0")
    compile("org.quartz-scheduler:quartz:2.1.1")
    compile("log4j:log4j:1.2.15")
    //providedCompile("org.apache.tomcat:tomcat-catalina:7.0.29")
    testCompile("junit:junit")
}

共有1个答案

马银龙
2023-03-14

根本原因是:

java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String

Servlet3.1中添加了此方法。您确定部署到正确的Tomcat版本吗?

 类似资料:
  • 我正在开发一个多模块的maven项目,我想在Tomcat7中运行我的web项目,但我出现了这样的错误:“启动期间一个子容器失败”。 我继续操作:(右键单击web项目)->运行为->运行配置->goal:tomcat7:run,我有以下日志: 这是我的web.xml: 拜托,我需要你的帮助。

  • 在读取之前,我就会出现以下错误(我从中知道这一点)。 貌似是这句台词引起的: 这是使工作所需的,如本文所述(实际上,WebServlet在任何项目中没有就无法工作。我和其他人有一些使用的工作项目)。 虽然我没有这些文件,但我也有一个工作项目没有这些文件,所以它们显然不是必需的。我试着创建那个日志文件,因为它看起来像是Juli想告诉我什么。唉,它打开了,但没有向其中写入任何内容。 还显示,在打印异常

  • 问题内容: 我有一个嵌入式Tomcat服务器,可以 很好地提供静态文件。 但是,当我添加开始工作所需的buildPath代码时,它在我的一个项目中不起作用(项目之间存在很多差异……价值约5万行)。 在读取之前,我收到以下错误(我从中知道)。 似乎是由以下行引起的: 这是需要做的工作,如所描述这里(实际上,WebServlet确实没有不工作,在任何项目中,我和其他人使用的一些工作项目)。 显示Tom

  • 问题内容: 我遇到错误了; 问题答案: 错误是 看来您有一个指的是您尚未声明的。 您需要具有以下声明

  • 当前的java版本是