WildFly 中 JAX-RS 的最低依赖项是什么?
Which minimum dependencies for JAX-RS in WildFly?
我们是 运行 一个在 WildFly 20 服务器中部署为多个 WAR 的项目。由于“历史原因”,项目设置很糟糕,即有几个 pom.xml
文件到处都是依赖项。
现在我要构建一个新的 WAR 模块,它将提供基于 JAX-RS 的 REST API。因为我可以从头开始,所以我想通过使用 WildFly 20 已经提供的库来使 pom.xml
尽可能简单。
这是一个示例控制器:
SampleController.java
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
public class SampleController {
@GET
public Response ping() {
return Response.ok().entity("pong").build();
}
}
似乎以下方法有效:
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
但这也有效...
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>${jakartaee.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
然后我正在阅读有关包括 wildfly-jaxrs
和其他工件的内容...
那么,为了使用 JAX-RS 实现 REST 服务,我真正需要哪些依赖项?
由于您使用的是 Jakarta EE 兼容服务器 WildFly,因此 API 是您需要的全部依赖项。依赖项也应标记为 <scope>provided</scope>
.
鉴于这是一个新应用程序,我倾向于使用 Jakarta EE 依赖项。
我们是 运行 一个在 WildFly 20 服务器中部署为多个 WAR 的项目。由于“历史原因”,项目设置很糟糕,即有几个 pom.xml
文件到处都是依赖项。
现在我要构建一个新的 WAR 模块,它将提供基于 JAX-RS 的 REST API。因为我可以从头开始,所以我想通过使用 WildFly 20 已经提供的库来使 pom.xml
尽可能简单。
这是一个示例控制器:
SampleController.java
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
public class SampleController {
@GET
public Response ping() {
return Response.ok().entity("pong").build();
}
}
似乎以下方法有效:
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
但这也有效...
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>${jakartaee.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
然后我正在阅读有关包括 wildfly-jaxrs
和其他工件的内容...
那么,为了使用 JAX-RS 实现 REST 服务,我真正需要哪些依赖项?
由于您使用的是 Jakarta EE 兼容服务器 WildFly,因此 API 是您需要的全部依赖项。依赖项也应标记为 <scope>provided</scope>
.
鉴于这是一个新应用程序,我倾向于使用 Jakarta EE 依赖项。