繁体   English   中英

春季启动应用程序。 使用 Intellij 运行会导致相同类上的 ClassCastException

[英]Spring Boot App. running with Intellij leads to ClassCastException on the same classes

我有一个使用 Jetty 作为 Web 服务器的 Spring Boot 应用程序,我还使用 gradle 将应用程序构建为可执行的 .jar。

当我使用 IntelliJ 运行或调试选项运行我的应用程序时,我突然在我的一个控制器中收到一个类转换异常:

ClassCastException: com.test.matan.GenericParameter can not be cast into com.test.matan.GenericParameter

它和你看到的一样。 这个类是我开发的应用程序依赖模块的一部分。

当我使用可执行 jar: "java -jar my-app.jar" 运行我的应用程序时,相同的过程工作得很好,没有异常,并且投射按预期工作正常。

我得出的结论是 IntelliJ 负责这个奇怪的“错误”,但我不明白我该如何修复它。 直接从 IDE 运行应用程序更加方便和容易。

有任何想法吗? 赞赏!

编辑:我使用 IntelliJ 2017,由于工作网络限制,目前无法更新。

这是因为spring-boot-devtools有一个类加载器,但 IntelliJ 有它自己的类加载器。 从 pom.xml 中删除spring-boot-devtools为我解决了这个问题。 您也可以将其从项目的库列表中删除:

Project Settings -> Libraries -> find spring-boot-devtools -> delete

您可以尝试清除 Intellij 缓存,这通常有助于解决此类奇怪的错误。

如果问题仍然存在,请检查您的运行配置并确保它与java -jar my-app.jar命令执行相同java -jar my-app.jar

暂无
暂无

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

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