41

如何将 servlets API 添加到我的项目的 pom.xml

mvnrepository.com 有很多 servlet api 和类似名称的项目,我不知道哪个是正确的。或者他们都好吗?

4

7 回答 7

48

我相信大多数 web/app 服务器都捆绑了一个版本的 servlet api,所以你不会想把 api 捆绑到你的 .war 文件中。您需要找出服务器中包含的版本,然后您可以使用

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>${servlet-api-version}</version>
    <scope>provided</scope>
</dependency>

用您的版本替换 servlet-api-version。您需要指定“提供的”范围,以便 api.jar 不包含在您的 war 文件中。

于 2009-09-02T23:44:34.917 回答
4
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
于 2013-05-30T07:58:33.483 回答
3

对于 servlet-api 3.1.0,声明如下:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
</dependency>
于 2015-12-03T07:12:11.327 回答
2

我们用

<dependency>
    <groupId>javax</groupId>
    <artifactId>j2ee</artifactId>
    <version>1.4</version>
    <scope>provided</scope>
</dependency>

但如果您只需要 servlet api,您可能需要使用

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>?</version>
    <scope>provided</scope>
</dependency>
于 2009-09-02T23:31:48.263 回答
0

这取决于您使用的 servlet API 版本。

javax.servlet工件将为所有 servlet API 版本提供 jar 。

于 2009-09-02T23:23:18.407 回答
0

当您不想将 jar 文件放在WEB-INF/lib文件夹中时,可以使用提供的范围,而是在运行时通过容器或 JDK 提供它。

于 2012-06-21T10:30:54.950 回答
0

雅加达EE

近年来,Oracle 将 Java EE 技术转移到了Eclipse 基金会。那里的技术已重命名为Jakarta EE。所以Java Servlet现在被称为Jakarta Servlet

更改名称是为了尊重 Oracle 的商标。进行网络搜索以查找许多讨论此过渡的文章和视频。

此名称更改包括将类的包命名从 更改javax.*jakarta.*。这是一个突破性的变化,尽管更新您的项目可能就像仅仅更改您的import语句一样简单。但请检查您依赖的任何库是否也有使用新命名的可用版本。

小服务程序 5

这种转变带来了 Servlet 规范的新版本。该规范的第 5 版与Servlet 4相同,但具有新的命名。

对于当前版本,编辑您的POM文件以使用以下 Maven 依赖项。在版本编号中检查您选择的 Maven 存储库中的更新。

您可以将使用 Servlet 5 构建的 Web 应用程序部署到 Web 容器,例如 Tomcat 10.0.x、Jetty 11.0.x、Glassfish 6 等。

<dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
    <version>5.0.0</version>
    <scope>provided</scope>
</dependency>

小服务程序 6

Jakarta Servlet 6规范目前正在开发中,并将包含重大更改。该规范将于 2022 年晚些时候最终确定。

请参阅概览页面产品页面项目链接页面存储库坐标页面

<dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
    <version>6.0.0</version>
    <scope>provided</scope>
</dependency>
于 2022-02-19T16:56:20.720 回答