尽管与WildFly捆绑在一起,但仍需要声明RestEasy依赖项吗?

问题描述

根据RESTEasy modules in WildFly文档:

在WildFly中,RESTEasy和JAX-RS API会自动加载到 当且仅当您正在部署JAX-RS时,您的部署的类路径 应用程序(由JAX-RS批注确定)。

但是,我对这一段并不十分了解。这到底是什么意思?举例来说,假设我要在课程中使用ResteasyClient。我的IDE告诉我必须在相应的pom.xml添加此依赖项。但是上面的引用又如何呢?

<dependency>
  <groupId>org.jboss.resteasy</groupId>
  <artifactId>resteasy-client</artifactId>
</dependency>

我的pom.xml已包含此内容

<dependency>
    <groupId>org.wildfly.bom</groupId>
    <artifactId>wildfly-jakartaee8-with-tools</artifactId>
    <version>20.0.1.Final</version>
    <scope>import</scope>
    <type>pom</type>
</dependency>

查看this BOM时,好像已经包含了resteasy-client吗?

解决方法

我的IDE告诉我必须在相应的pom.xml中添加此依赖项

是的,如果使用依赖关系的API,则必须在pom.xml中声明此依赖关系,但只需要provided-scope,因为正如文档所述,它已经包含在部署的类路径中。如果仅使用wildfly-jakartaee8中定义的标准api,则不需要此依赖项。