Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法启动嵌入式tomcat Spring启动_Java_Spring_Tomcat_Spring Boot - Fatal编程技术网

Java 无法启动嵌入式tomcat Spring启动

Java 无法启动嵌入式tomcat Spring启动,java,spring,tomcat,spring-boot,Java,Spring,Tomcat,Spring Boot,我正在开发SpringBootGradle应用程序。当我试图通过booRun将其作为战争运行时,我的应用程序抛出错误。错误显示:无法启动嵌入式tomcat。 build.gradle文件的内容: group 'com.example' version '1.0-SNAPSHOT' bootRepackage { mainClass = 'com.ex.MainClass' } apply plugin: 'war' apply plugin: 'propdeps

我正在开发SpringBootGradle应用程序。当我试图通过booRun将其作为战争运行时,我的应用程序抛出错误。错误显示:无法启动嵌入式tomcat。 build.gradle文件的内容:

    group 'com.example'
    version '1.0-SNAPSHOT'



bootRepackage {
    mainClass = 'com.ex.MainClass'
}


apply plugin: 'war'
apply plugin: 'propdeps'

war {
    baseName = 'abc'
    archiveName 'abc.war'

}

repositories{
//    mavenLocal()
    mavenCentral()
}


dependencies {

        compile("org.springframework.boot:spring-boot-starter-web")
        compile("org.springframework.boot:spring-boot-starter-data-jpa")
        compile("io.springfox:springfox-swagger2:2.7.0")
        compile("io.springfox:springfox-swagger-ui:2.7.0")
        compile fileTree(dir:"lib", include:"*.jar")
        compile('org.springframework.boot:spring-boot-starter-mail')
        optional("org.springframework.boot:spring-boot-configuration-processor")
        compile("org.springframework.boot:spring-boot-starter-tomcat")
        compile "io.springfox:springfox-swagger2:2.7.0"
        compile 'io.springfox:springfox-swagger-ui:2.7.0'
        compile("org.springframework.boot:spring-boot-starter-amqp")
    }

   compileJava.dependsOn(processResources)
整个堆栈跟踪如下所示:

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:536) ~[spring-context-4.3.8.RELEASE.jar:4.3.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) [spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at com.ex.MainClass.main(MainClass.java:38) [main/:na]
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:123) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:84) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:554) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:179) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    ... 8 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    at org.apache.catalina.startup.Tomcat.start(Tomcat.java:344) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:99) ~[spring-boot-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    ... 13 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    ... 15 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    ... 17 common frames omitted
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:947) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.14.jar:8.5.14]
    ... 19 common frames omitted

bootRun FAILED
有人能告诉我为什么我的应用无法在嵌入式tomcat上启动吗


谢谢

我无法发表评论。因此,如果您使用的是嵌入式tomcat,您不需要tomcat依赖项(spring boot starter tomcat),因为它已经内置了“spring boot starter web”。请尝试删除此依赖项。

我无法发表评论。因此,如果您使用的是嵌入式tomcat,您不需要tomcat依赖项(spring boot starter tomcat),因为它已经内置了“spring boot starter web”。尝试删除此依赖项。

我遇到了相同的问题,通过更改端口解决了它


当我以Spring应用程序的形式运行应用程序时,我通常使用端口9000和9001进行管理,但当我尝试在Tomcat上运行它时,它失败了,出现了与您发布的相同的异常。将application.properties中的两个端口更改为8080解决了这个问题。

我也遇到了同样的问题,通过更改端口解决了这个问题


当我以Spring应用程序的形式运行应用程序时,我通常使用端口9000和9001进行管理,但当我尝试在Tomcat上运行它时,它失败了,出现了与您发布的相同的异常。将application.properties中的两个端口都更改为8080解决了问题。

在我的情况下,我正在运行此命令

mvn spring-boot:run -Dmaven.tomcat.port=8081 -Dspring.config.location=file:[Project Root Dir]\src\main\resources -Dspring.profiles.active=dev -DskipTests > log.log
结果我忘了在结尾加反斜杠

\src\main\resources
因此,它无法找到配置文件

我的解决方案就是这样,所以我现在有以下代码

mvn spring-boot:run -Dmaven.tomcat.port=8081 -Dspring.config.location=file:[Project Root Dir]\src\main\resources\ -Dspring.profiles.active=dev -DskipTests > log.log

在我的例子中,我正在运行这个命令

mvn spring-boot:run -Dmaven.tomcat.port=8081 -Dspring.config.location=file:[Project Root Dir]\src\main\resources -Dspring.profiles.active=dev -DskipTests > log.log
结果我忘了在结尾加反斜杠

\src\main\resources
因此,它无法找到配置文件

我的解决方案就是这样,所以我现在有以下代码

mvn spring-boot:run -Dmaven.tomcat.port=8081 -Dspring.config.location=file:[Project Root Dir]\src\main\resources\ -Dspring.profiles.active=dev -DskipTests > log.log

您好,您也可以粘贴main类
编译文件树(dir:“lib”,include:“*.jar”)
这部分是做什么用的?@11thdimension lib dir中有一些外部jar文件,我需要将它们包含在我的项目中。因此dependency@Manisha在应用程序的运行时类路径上是否有多个版本的
servlet api.jar
?很可能在外部依赖项中有一些
servlet api
jar,这与tomcat版本的
servlet api
您好,您是否也可以粘贴main类
编译文件树(目录:“lib”,包括:“*.jar”)
这部分是做什么用的?@11thdimension lib dir中有一些外部jar文件,我需要将它们包含在我的项目中。因此dependency@Manisha在应用程序的运行时类路径上是否有多个版本的
servlet api.jar
?最有可能的是外部依赖项中有一些
servlet api
jar与tomcat版本的
ServletAPI