gpt4 book ai didi

eclipse - Tomcat 转到 jsp、servlet 等 jar 的 .m2 目录并崩溃

转载 作者:行者123 更新时间:2023-11-28 23:57:57 27 4
gpt4 key购买 nike

我无法让 Tomcat 在我启用 maven 的项目上运行 JSP(Eclipse 3.7,在 Tomcat 6 上带有最新的 m2 插件,在 Eclipse Java EE 中作为服务器运行):

java.lang.NullPointerException
at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)

此错误表明 Tomcat 为 JSP、servlet 等提供的 jar 与项目 jar 冲突。不过,似乎一切都已正确设置:

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>

如果我在 VM 上打开类跟踪,我会看到在启动时来自 Tomcat 的 lib 目录的 jsp jar 被用于 JspFactory:

[Loaded javax.servlet.jsp.JspFactory from file:/C:/tomcat-6.0.28/lib/jsp-api.jar]

当服务器启动并且我准备第一次访问 jsp 页面时,我得到了不同的结果:

[Loaded javax.servlet.jsp.JspFactory from file:/C:/Users/alice/.m2/repository/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar]

因此,出于某种我无法理解的原因,Web 应用程序正在使用 m2 存储库中的 jsp jar,即使 pom.xml 中的范围设置为提供。我已经用尽了谷歌搜索。哪些其他配置问题可能导致此问题?

最佳答案

在过去的几年里,我经常看到 Tomcat Eclipse 插件的各种配置相关问题。

我建议你帮自己一个大忙——放弃这个插件。运行独立的 Tomcat。这并不难。

将 Tomcat 配置为指向 Eclipse 构建的 war 文件也很容易,这样您就不必显式部署它。

设置独立 Tomcat 实例的调试也非常容易。

好处是您不必处理插件的变幻莫测,一般来说,stuf 就可以正常工作。据我所知,没有任何缺点。

关于eclipse - Tomcat 转到 jsp、servlet 等 jar 的 .m2 目录并崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14166286/

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