java - 由 org.springframework.beans.factory.BeanCreationException 引起的成功安装 maven 的 Tomcat war 部署错误

标签 java mysql sql maven tomcat

我正在尝试在 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/

相关文章:

mysql - MySQL中如何选择相邻的列

MySQL 具有两个连接和一个Where 子句

sql - 按期间结束而不是开始日期分组

java - 垂直平分线法的结果

java - 立即重定向。为什么会这样呢?

php - 如何遍历表单中的输入数组?

SQL:排除的性能比较(加入与不加入)

sql - INNER JOIN 的条件给出了错误的结果

java - JUnit、JMock、JUnitRuleMockery : what am I missing

java - 对 java JTable 中的特定单元格进行着色