Jakarta ee JAXRS 2.1:ServletContext无法解析为类型

Jakarta ee JAXRS 2.1:ServletContext无法解析为类型,jakarta-ee,jax-rs,microprofile,Jakarta Ee,Jax Rs,Microprofile,我添加了以下文件依赖项: compile("org.eclipse.microprofile:microprofile:2.1") 因此,在微文件:2.1中包含JAX-rs2.1 在我的代码中,我尝试使用以下代码: @PreMatching @Priority(Priorities.AUTHENTICATION) public class TLSClientCertificateFilter implements ContainerRequestFilter { @Context

我添加了以下文件依赖项:

compile("org.eclipse.microprofile:microprofile:2.1")
因此,在
微文件:2.1
中包含
JAX-rs2.1

在我的代码中,我尝试使用以下代码:

@PreMatching
@Priority(Priorities.AUTHENTICATION)
public class TLSClientCertificateFilter implements ContainerRequestFilter {

    @Context
    private ServletContext request;

}
正如您所看到的,我试图注入当前的
ServletContext
,但编译器告诉我这一点

无法将ServletContext解析为类型

有什么想法吗?

关于,对
javax.servlet:javax.servlet api
没有任何声明的依赖关系。我们必须在项目pom中将其定义为以下示例


javax.servlet
javax.servlet-api
${my.servlet.api.version}
假如

注意,
${my.servlet.api.version}
取决于我们的目标容器,它可能是
4.0

我使用
providedCompile(“javax:javaeeapi:8.0”)
解决了这个问题。这就是
javax.servlet api
之间的区别。我提出的另一个问题是,为什么MicroFile compliance服务器(liberty、payara…)也符合javaee8?我是说,我以为这些服务器只提供了一组javaee。。。不是所有的…AFAIU,《微文件常见问题解答》说,“微文件是一个基线平台定义,它优化了企业Java的微服务体系结构,并提供了跨多个微文件运行时的应用程序可移植性”。这些可能与应用程序/服务的观点有关,也可能与那些服务器无关。()