【问题标题】:java.lang.IllegalArgumentException: The servlets named [A] and [A] are both mapped to the url-pattern [/testurl] which is not permittedjava.lang.IllegalArgumentException:名为 [A] 和 [A] 的 servlet 都映射到不允许的 url 模式 [/testurl]
【发布时间】:2019-12-14 04:25:48
【问题描述】:

希望有人能帮我解决这个问题:

我的 Eclipse(确切地说是 Spring Tool Suite 3)设置中有两个项目:

  • 我们自己的项目和我们的源代码。

  • 来自提供者的另一个项目,我们的项目将其作为依赖项引用。

我们使用 Tomcat v8.5 服务器在本地执行应用程序。

直到最近,当我执行 git pull 来更新我的本地代码并搞砸了一切(我不确定我是否更改了其他内容)时,一切都运行良好。 现在,当我尝试执行应用程序时,出现以下错误(一切都正确编译和构建):

java.lang.IllegalArgumentException:名为 [A] 和 [A] 的 servlet 都映射到不允许的 url 模式 [/XXXX]。

我没有打错字。错误消息提到同一个 servlet 两次,将其视为使用相同 url 模式的两个不同 servlet。

搜索 servlet,我只能在下载到本地 .m2 存储库的 JAR 中找到它。 我的意思是,这不是我们的 servlet,它来自提供程序库。

我已经看到了这个问题的其他答案,但这些在这里不起作用,因为:

1) 我没有两个 servlet 互相踩踏。只有一个。

2) 我无法检查 servlet 是否在 web.xml 和注释上定义,因为它不是我们的,但它适用于我的同事,所以它应该是正确的。

3) 如前所述,此 servlet 是从依赖项加载的,因此我什至无法尝试更改任何内容来尝试了解正在发生的事情。

您知道我的设置可能有什么问题吗? 它适用于我的同事,因此代码没有问题。

我已从头开始删除并设置所有内容(删除 Tomcat 服务器除外);多次清理和更新项目,但我无法摆脱这个。

我的最后一次尝试是清除和更新本地 .m2 存储库,但这也没有用。

非常欢迎任何提示或想法。

【问题讨论】:

    标签: java maven tomcat servlets


    【解决方案1】:

    如果我没记错的话,我认为您在 web.xml 和注释中都声明了 servlet 映射,如果我没记错的话,一些 tomcat 版本允许这样做。 你说它适用于你的同事,检查你是否都有相同的tomcat版本。

    【讨论】:

      猜你喜欢
      • 2013-04-22
      • 2016-03-07
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 2016-04-28
      • 2016-11-26
      相关资源
      最近更新 更多