简体   繁体   English

Glassfish 5.1 中的 servlet-api.jar 在哪里?

[英]Where is servlet-api.jar in Glassfish 5.1?

Trying to build a Java web-site, i'm getting errors:试图建立一个 Java 网站,我收到错误:

在此处输入图像描述

The import javax.servlet cannot be resolved导入 javax.servlet 无法解析

Some searching implies that in order to import javax.servlet you need a special jar file that comes with your web-server application server:一些搜索意味着为了导入javax.servlet ,您需要一个特殊的 jar 文件,该文件随您的 Web 服务器 应用程序服务器一起提供:

I did a search of the files in the installation folder of Glassfish 5.1.我搜索了 Glassfish 5.1 安装文件夹中的文件。 There is no servlet-api.jar .没有servlet-api.jar I so searched for any filenames that contain the words javax or servlet :我因此搜索了包含单词javaxservlet的任何文件名:

C:\Users\ian\GlassFish_Server\glassfish\modules

06/29/2022  11:37 AM            34,641 javax.batch-api.jar
06/29/2022  11:37 AM            95,067 jakarta.servlet-api.jar
06/29/2022  11:37 AM            66,437 jakarta.servlet.jsp-api.jar
06/29/2022  11:37 AM           561,358 jakarta.servlet.jsp.jar
06/29/2022  11:37 AM            56,706 jakarta.servlet.jsp.jstl-api.jar
06/29/2022  11:37 AM         3,689,362 jakarta.servlet.jsp.jstl.jar
06/29/2022  11:37 AM            26,966 jersey-cdi1x-servlet.jar
06/29/2022  11:37 AM            73,338 jersey-container-servlet-core.jar
06/29/2022  11:37 AM            32,135 jersey-container-servlet.jar
06/29/2022  11:37 AM            26,189 tyrus-container-servlet.jar

Which one of these files represents javax.servlet , and how would I know?这些文件中的哪一个代表javax.servlet ,我怎么知道?

I did a grep of all the files in the folder, and none contain the ASCII text "javax.servlet".我对文件夹中的所有文件做了一个 grep,没有一个包含 ASCII 文本“javax.servlet”。

Research Effort研究工作

As per the comments, you're looking for "jakarta.servlet-api.jar" in GlassFish 5.1.根据评论,您正在 GlassFish 5.1 中寻找“jakarta.servlet-api.jar”。

"servlet-api.jar" is the old name of the artefact. “servlet-api.jar”是人工制品的旧名称。 Artefacts get renamed from time to time.文物不时被重新命名。 Specifically after Java EE moved to the Eclipse foundation to become Jakarta EE, quite a few things got renamed.特别是在 Java EE 转移到 Eclipse 基金会成为 Jakarta EE 之后,很多东西都被重命名了。

You could have known by not looking for the jar name, but for which jars contain the actually classes you're looking for (eg use unzip -l recursively on all jar files in /modules and grep on that). You could have known by not looking for the jar name, but for which jars contain the actually classes you're looking for (eg use unzip -l recursively on all jar files in /modules and grep on that).

For some background on the move from Oracle to Eclipse, see https://blogs.oracle.com/javamagazine/post/transition-from-java-ee-to-jakarta-ee For some background on the move from Oracle to Eclipse, see https://blogs.oracle.com/javamagazine/post/transition-from-java-ee-to-jakarta-ee

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM