我有一个SpringBoot应用程序。一个类需要导入javax.servlet.filter并实现用于自定义的过滤器。它在本地成功构建,但无法在云服务器上启动,并引发llegalStateExceptions。这是导致问题的过滤器类。删除过滤器后,该应用将在本地和云上成功运行。
我认为应用程序可能无法在Maven中找到javax.servlet api,或者这是servlet /嵌入式tomcat不兼容的问题。我们拥有org.springframework.boot中的大多数依赖项。我们唯一与tomcat相关的部分是:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>LATEST</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我们没有以下内容:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我尝试添加它们(分别和同时添加),并将作用域更改为编译或删除作用域。各种依赖项都有细微的变化,但到目前为止没有任何效果。如果您有什么好的建议,请告诉我。