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的微服务体系结构,并提供了跨多个微文件运行时的应用程序可移植性”。这些可能与应用程序/服务的观点有关,也可能与那些服务器无关。()