gpt4 book ai didi

java - servlet 和 JAX-RS 依赖项来自哪里?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:26 25 4
gpt4 key购买 nike

如果我在我的应用程序中包含以下 J2EE 依赖项,我就可以访问 servlet 和 JAX-RS 类和接口(interface):

    <dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>

但他们来自哪里?在 Maven Central 我看到了 javax:javaee-api:7.0具有依赖性 javax:javaee-web-api:7.0 ,它又具有依赖项 javax.servlet:javax.servlet-api:3.1.0javax.ws.rs:javax.ws.rs-api:2.0 ,所以从表面上看,这就是答案。

但是所有这些依赖项都被标记为可选,这意味着作为传递依赖项它们不会出现在我的项目中,除非我明确包含它们。但是我的程序编译时只依赖于 javax:javaee-api:7.0。为什么?

这是我的依赖树;我看不出他们从哪里进来:

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ temp-server ---
[INFO] com.example:test-server:war:1.0.0-SNAPSHOT
[INFO] +- com.google.code.findbugs:jsr305:jar:3.0.1:provided
[INFO] \- javax:javaee-api:jar:7.0:compile
[INFO] \- com.sun.mail:javax.mail:jar:1.5.0:compile
[INFO] \- javax.activation:activation:jar:1.1:compile

(这都是基本的东西;我不知道为什么我很困惑。我一定是遗漏了一些明显的东西。)

最佳答案

由于 JAX-RS 2.0Java EE 7 的一部分,定义其 API 的类直接包含在 Artifact javax:javaee-api:7.0 中 所以只要你只使用标准类就足以编译你的程序。

关于java - servlet 和 JAX-RS 依赖项来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40489925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com