【发布时间】:2021-04-06 22:01:22
【问题描述】:
我有一个 springboot 项目,它使用来自 org.apache.tomcat.embed:tomcat-ember-core9.0.34 的包 javax.servlet。 (这是来自springboot)
我有另一个使用这个 javax.servlet 但版本为 2.3 的 maven 项目(API 项目)
现在我创建了一个父 maven 项目,其中包括上述 2 个项目作为模块。 当我单独编译springboot项目时,一切都很好。 但是当我编译父项目时,它需要javax.servlet.api 2.3版来编译springboot项目并给出错误,因为springboot正在使用的2.3中没有一个方法。
如何解决?
请在此处找到示例源代码: https://github.com/abmjunaed/maven-multi-project-error
我添加了非常少的代码来重现该场景,以便您查看和帮助!
在 IntelliJ 的外部库中,我可以看到父项目中的 libs 和 maven 正在使用 javax-servlet-api:2.3 来编译 springBoot 项目并给出错误
【问题讨论】:
-
那么你在哪里定义
javax.servlet.api的版本? -
在 API 项目中。
-
那么这不会影响其他项目的构建。错误在其他地方。
-
我找到了解决办法并贴出来了,简直不敢相信!你有什么解释吗?
标签: java spring-boot maven multi-module