java - Spring-boot方法不存在启动时错误
问题描述
我正在开发一个带有 rest-api 调用的基本 spring-boot 应用程序并将其部署在 jboss6.3 服务器中,但是从嵌入式 tomcat 服务器冲突中得到一个错误。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.panacea</groupId>
<artifactId>Panacea-API-point</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Panacea-API-point Maven Plugin</name>
<!-- FIXME change it to the project's website -->
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<!-- <relativePath /> lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
控制台中的错误:
应用程序无法启动
描述:
试图调用不存在的方法。尝试是从以下位置进行的:
org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getDefaultLifecycleListeners(TomcatServletWebServerFactory.java:159)
以下方法不存在:
org.apache.catalina.core.AprLifecycleListener.isAprAvailable()Z
该方法的类 org.apache.catalina.core.AprLifecycleListener 可从以下位置获得:
jar:file:/D:/IDC/jboss-eap-6.3_JAXRS_1.6/modules/system/layers/base/.overlays/layer-base-jboss-eap-6.3.3.CP/org/jboss/as/web/main/jbossweb-7.4.10.Final-redhat-1.jar!/org/apache/catalina/core/AprLifecycleListener.class
vfs:/D:/IDC/jboss-eap-6.3_JAXRS_1.6/standalone/deployments/Panacea.ear/Panacea-API-point-0.0.1-SNAPSHOT.war/WEB-INF/lib/tomcat-embed-core-9.0.21.jar/org/apache/catalina/core/AprLifecycleListener.class
它是从以下位置加载的:
jar:file:/D:/IDC/jboss-eap-6.3_JAXRS_1.6/modules/system/layers/base/.overlays/layer-base-jboss-eap-6.3.3.CP/org/jboss/as/web/main/jbossweb-7.4.10.Final-redhat-1.jar!/
行动:
更正应用程序的类路径,使其包含一个兼容的 org.apache.catalina.core.AprLifecycleListener 版本
解决方案
推荐阅读
- android - 从已发送的邮箱中删除已发送的短信,无法作为收件箱使用
- terraform - 如何将 azure sql 数据库连接到 terraform 中的功能应用程序
- performance - Kafka ACL:性能和内存影响
- angular - 我想在 Angular 7 中使用生物指纹扫描仪
- java - 使用父对象对链式对象进行排序
- json - 异步解析来自请求 GET 调用的 JSON 响应
- firebase - Firebase:如何即时发送到设备组
- r - 有什么方法可以正确组合数据框吗?
- autohotkey - 子程序触发后按住键复位
- android - 列表不能应用于布尔 android