我有一个Maven web项目,其中我在我的中添加了依赖性
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>在.jsp文件中,我有如下标记库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>但是,eclipse在该行上显示了错误。
找不到"http://java.sun.com/jsp/jstl/core“的标记库描述符
但是,当我在jstl.jar中包含WEB-INF/lib时,eclipse不会显示这样的错误。
我的问题是,
为什么我需要在jstl.jar WEB-INF/lib 文件夹中包含,即使依赖项中包含了JSTL?
发布于 2013-11-12 10:49:32
有时,由于互联网连接不好,您的依赖jar文件无法正确下载。在进行maven项目之前,一定要确保您有良好的互联网连接。
SOLNo.1:右键单击您的项目,转到属性-> Java >检查"Maven依赖项“,您必须有红十字标志。这意味着您的jar丢失在您必须解决的特定path.So上,方法是更新您的项目(或者手动下载文件并粘贴到丢失的路径中)解决问题。
Sol 2:在使用maven projet之前请检查您的互联网连接。
发布于 2013-11-12 11:05:03
JSTL主要用于标记,仅在JSP中使用。虽然编译这不是必需的,但是javac在编译时不会费心于JSP文件。
但是,在执行jsp时,JSP将被转换为Java文件,并在容器使用之前进行编译。在这样做时,它需要JSTL.jar来将JSP标记转换为适当的java代码,这就是为什么在编译时不需要JSTL.jar,而是在运行应用程序时需要JSTL.jar。希望这对你有帮助!
可以将依赖关系作用域设置为运行时。maven将把jar包含到lib中。
发布于 2013-11-12 12:17:03
这不是必需的。在eclipse中重新加载maven项目。
在用'mvn包‘打包这个项目之后,检查jstl.jar是否在WAR中。
https://stackoverflow.com/questions/19926903
复制相似问题