[英]how to add the servlet api to my pom.xml
如何將 servlets API 添加到我項目的 pom.xml
mvnrepository.com 有很多 servlet api 和類似名稱的項目,我不知道哪個是正確的。 還是全部都ok?
我相信大多數web / app服務器捆綁了一個版本的servlet api,因此你不希望在你的.war文件中捆綁api。 您需要找出服務器附帶的版本,然后才能使用
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet-api-version}</version>
<scope>provided</scope>
</dependency>
用您的版本替換servlet-api-version。 您需要指定“提供的”范圍,以便api.jar不包含在war文件中。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
我們用
<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>
對於servlet-api 3.1.0,這是聲明:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
這取決於您使用的servlet API的版本。
javax.servlet工件將為所有servlet API版本提供jar。
近年來,Oracle 將 Java EE 技術轉讓給Eclipse 基金會。 那里的技術已重命名為Jakarta EE 。 所以Java Servlet現在被稱為Jakarta Servlet 。
此名稱更改是為了尊重 Oracle 的商標。 進行 Web 搜索,找到許多討論此過渡的文章和視頻。
此名稱更改包括將類的 package 命名從javax.*
更改為jakarta.*
。 這是一個突破性的變化,盡管更新你的項目可能就像僅僅改變你的import
語句一樣簡單。 但是請檢查您依賴的任何庫是否也有使用新命名的可用版本。
這種轉變帶來了新版本的 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>
Jakarta Servlet 6規范目前正在開發中,並將包含重大更改。 該規范將於今年晚些時候 2022 年最終確定。
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
當您不想將jar文件放在WEB-INF/lib
文件夾中而不是在運行時通過容器或JDK提供它時,可以使用提供的作用域。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.