java - java.lang.IllegalArgumentException:名为 [A] 和 [A] 的 servlet 都映射到不允许的 url 模式 [/testurl]
问题描述
我希望有人可以帮我解决这个问题:
我的 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 存储库,但这也不起作用。
任何提示或想法都非常受欢迎。
解决方案
我认为您在 web.xml 和注释中都声明了 servlet 映射,如果我没记错的话,一些 tomcat 版本允许这样做。你说它适用于你的同事,检查你是否都有相同的tomcat版本。
推荐阅读
- excel - 删除 BG 列中没有信息的所有行
- python - sqlite3 和 python :sqlite3.OperationalError:
- python-3.x - 如何将sql查询转换为列表?
- flutter - 在警报对话框中保存多选选择芯片选择/未选择状态
- javascript - Chrome/V8 如何处理 javascript 中的大对象?
- php - 点击事件上的jquery只触发一次
- vgg-net - 使用 vgg16 提取特征来训练 LSTM
- java - 从 JpaRepository 检索对象后,延迟加载在简单的 Hibernate/Spring 启动示例中不起作用
- swift - 通过嵌套变量获取枚举值
- python - 将 StringVar 转换为浮点数