我正在尝试在 tomcat 中部署一个 war 文件,但在部署时出现以下错误。我用maven安装,没有看到任何错误。当我部署 tomcat 时,我在日志中看到以下错误。我没有 application.xml 设置。
感谢任何帮助!!!
02-Jun-2019 11:31:02.539 SEVERE [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to initialize component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/deploywar]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: javax/management/MBeanServerNotification
at io.micrometer.core.instrument.binder.tomcat.TomcatMetrics.lambda$registerMetricsEventually$bca24a20$1(TomcatMetrics.java:225)
... 20 more
02-Jun-2019 11:31:02.539 SEVERE [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\deploywar.war]
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to initialize component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/deploywar]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:747)
at java.lang.Thread.run(Unknown Source)
02-Jun-2019 11:31:22.539 SEVERE [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to initialize component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/deploywar]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1370)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: javax/management/MBeanServerNotification
at io.micrometer.core.instrument.binder.tomcat.TomcatMetrics.lambda$registerMetricsEventually$bca24a20$1(TomcatMetrics.java:225)
at javax.management.NotificationBroadcasterSupport.sendNotification(Unknown Source)
... 20 more
02-Jun-2019 11:31:22.539 SEVERE [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\deploywar.war]
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to initialize component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/deploywar]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:747)
02-Jun-2019 11:31:22.539 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\deploywar.war] has finished in [0] ms
下面是我的 pom.xml 片段。在 maven 安装期间也进行了测试,但没有通过任何错误。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
最佳答案
这可能是依赖性问题。这里有几个使用它的步骤,您可以解决它们。
1) 将以下插件添加到您的 pom 构建标签中。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<configuration>
<rules>
<dependencyConvergence />
</rules>
</configuration>
</plugin>
然后运行mvn enforcer:enforce
这将为您提供所有冲突依赖项及其组 ID 和 Artifact ID 的列表,您只需要从相关依赖项中排除即可。
这是非常有用的方法。
2) 第二种方式。
从 pom 目录运行 mvn dependency:tree 命令。
这将在树结构中列出所有依赖项及其子依赖项,您必须查看树列表并找到重复项,然后将它们从相对依赖项中排除。
我建议您尝试第一步,这很容易解决。
希望对您有所帮助。
关于java - 由 org.springframework.beans.factory.BeanCreationException 引起的成功安装 maven 的 Tomcat war 部署错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56403676/